CbmRoot
CbmMuchLayerSide.h
Go to the documentation of this file.
1 
12 #ifndef CBMMUCHLAYERSIDE_H
13 #define CBMMUCHLAYERSIDE_H 1
14 
15 #include <Rtypes.h> // for THashConsistencyHolder, kYellow, ClassDef
16 #include <RtypesCore.h> // for Int_t, Double_t, Bool_t, Color_t, Double32_t
17 #include <TObjArray.h> // for TObjArray
18 #include <TObject.h> // for TObject
19 
20 class CbmMuchModule;
21 
22 class CbmMuchLayerSide : public TObject {
23 
24 public:
27 
32  CbmMuchLayerSide(Int_t detId, Double_t z);
33 
40  CbmMuchLayerSide(Int_t iStation, Int_t iLayer, Bool_t iSide, Double_t z);
41 
43  virtual ~CbmMuchLayerSide();
44 
46  Int_t GetDetectorId() const { return fDetectorId; }
47  Int_t GetNModules() const { return fModules.GetEntriesFast(); }
48  TObjArray* GetModules() { return &fModules; }
49  Double_t GetZ() { return fZ; }
50  void SetZ(Double_t z) { fZ = z; }
51 
52  CbmMuchModule* GetModule(Int_t iModule) const {
53  return (CbmMuchModule*) fModules.At(iModule);
54  }
55 
58  void AddModule(CbmMuchModule* module);
59 
60  void DrawModules(Color_t color = kYellow,
61  Bool_t modulesVisible = true,
62  Bool_t sectorsVisible = true);
63 
64 protected:
65  Int_t fDetectorId; // Unique detector ID
66  Double32_t
67  fZ; // z position of layer side center (midplane) [cm] in global cs
68  TObjArray fModules; // Array of CbmMuchModuleGem objects
69 
71 };
72 #endif
CbmMuchLayerSide::AddModule
void AddModule(CbmMuchModule *module)
Definition: CbmMuchLayerSide.cxx:42
CbmMuchLayerSide::fDetectorId
Int_t fDetectorId
Definition: CbmMuchLayerSide.h:65
CbmMuchLayerSide::GetModules
TObjArray * GetModules()
Definition: CbmMuchLayerSide.h:48
CbmMuchLayerSide::fModules
TObjArray fModules
Definition: CbmMuchLayerSide.h:68
CbmMuchLayerSide::GetModule
CbmMuchModule * GetModule(Int_t iModule) const
Definition: CbmMuchLayerSide.h:52
CbmMuchLayerSide::CbmMuchLayerSide
CbmMuchLayerSide()
Definition: CbmMuchLayerSide.cxx:17
CbmMuchLayerSide
Definition: CbmMuchLayerSide.h:22
CbmMuchModule
Definition: CbmMuchModule.h:24
CbmMuchLayerSide::ClassDef
ClassDef(CbmMuchLayerSide, 1)
CbmMuchLayerSide::DrawModules
void DrawModules(Color_t color=kYellow, Bool_t modulesVisible=true, Bool_t sectorsVisible=true)
Definition: CbmMuchLayerSide.cxx:47
CbmMuchLayerSide::~CbmMuchLayerSide
virtual ~CbmMuchLayerSide()
Definition: CbmMuchLayerSide.cxx:38
CbmMuchLayerSide::fZ
Double32_t fZ
Definition: CbmMuchLayerSide.h:67
CbmMuchLayerSide::GetZ
Double_t GetZ()
Definition: CbmMuchLayerSide.h:49
CbmMuchLayerSide::GetDetectorId
Int_t GetDetectorId() const
Definition: CbmMuchLayerSide.h:46
CbmMuchLayerSide::SetZ
void SetZ(Double_t z)
Definition: CbmMuchLayerSide.h:50
CbmMuchLayerSide::GetNModules
Int_t GetNModules() const
Definition: CbmMuchLayerSide.h:47