CbmRoot
Loading...
Searching...
No Matches
CbmMustStation.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Radoslaw Karabowicz [committer] */
4
15
16
17#ifndef CBMMUSTSTATION_H
18#define CBMMUSTSTATION_H 1
19
20#include "CbmMustAddress.h"
21
22#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
23#include <TObject.h> // for TObject
24
25#include <vector> // for vector
26
27class CbmMustLayer;
28class CbmMustTube;
29
30class CbmMustStation : public TObject {
31 public:
34
35
40 CbmMustStation(int iStation, double z);
41
42
44 virtual ~CbmMustStation();
45
47 uint32_t GetAddress() const { return fAddress; }
48 double GetZ() const { return fZ; }
49 int GetNLayers() const { return fLayers.size(); }
50
51 CbmMustTube* GetTube(uint32_t address) const;
52
53 CbmMustLayer* GetLayer(uint32_t address) const;
54 //{
55 // return fLayers.at(CbmAddress::GetLayerIndex(address));
56 // }
57
58 CbmMustLayer* FindLayer(uint32_t address);
59 bool AddLayer(CbmMustLayer* layer);
60 void Show();
61
62 protected:
63 uint32_t fAddress{0}; // Unique detector ID
64 double fZ{0.}; // z position of station center (midplane) [cm] in global cs
65 std::vector<CbmMustLayer*> fLayers; // Array of CbmMustLayers
67};
68#endif
CbmMustLayer * GetLayer(uint32_t address) const
int GetNLayers() const
CbmMustTube * GetTube(uint32_t address) const
double GetZ() const
ClassDef(CbmMustStation, 1)
bool AddLayer(CbmMustLayer *layer)
CbmMustLayer * FindLayer(uint32_t address)
std::vector< CbmMustLayer * > fLayers
virtual ~CbmMustStation()
uint32_t GetAddress() const