CbmRoot
CbmMuchLayer.h
Go to the documentation of this file.
1 
12 #ifndef CBMMUCHLAYER_H
13 #define CBMMUCHLAYER_H 1
14 
15 #include <Rtypes.h> // for THashConsistencyHolder, ClassDef
16 #include <RtypesCore.h> // for Double_t, Int_t, Bool_t, Double32_t
17 #include <TObject.h> // for TObject
18 
19 #include "CbmMuchLayerSide.h" // for CbmMuchLayerSide
20 
21 class CbmMuchLayer : public TObject {
22 
23 public:
25  CbmMuchLayer();
26 
32  CbmMuchLayer(Int_t detId, Double_t z, Double_t zRel);
33 
40  CbmMuchLayer(Int_t iStation, Int_t iLayer, Double_t z, Double_t zRel);
41 
43  virtual ~CbmMuchLayer();
44 
46  Int_t GetDetectorId() const { return fDetectorId; }
49  CbmMuchLayerSide* GetSide(Bool_t side) { return (side ? &fSideB : &fSideF); }
50  Double_t GetSupportDx() const { return fSupportDx; }
51  Double_t GetSupportDy() const { return fSupportDy; }
52  Double_t GetSupportDz() const { return fSupportDz; }
53  void SetSupportDx(Double_t supDx) { fSupportDx = supDx; }
54  void SetSupportDy(Double_t supDy) { fSupportDy = supDy; }
55  void SetSupportDz(Double_t supDz) { fSupportDz = supDz; }
56  Double_t GetZ() const { return fZ; }
57  Double_t GetZtoStationCenter() const { return fZtoStationCenter; }
58 
59  /*
60  * Automatic calculation of the half-thickness of the layer as
61  * a maximum distance to layer module edges
62  */
63  Double_t GetDz();
64 
65 protected:
66  Int_t fDetectorId; // Unique detector ID
67  Double32_t fZ; // z position of station center (midplane) [cm]
68  CbmMuchLayerSide fSideF; // Front side of the layer
69  CbmMuchLayerSide fSideB; // Back side of the layer
70  Double_t fSupportDx; // Support half-width
71  Double_t fSupportDy; // Support half-height
72  Double_t fSupportDz; // Support half-thickness
73  Double_t
74  fZtoStationCenter; // Relative position of the layer center with respect
75  // to the station center
76 
78 };
79 #endif
CbmMuchLayerSide.h
CbmMuchLayer::fZ
Double32_t fZ
Definition: CbmMuchLayer.h:67
CbmMuchLayer::GetDetectorId
Int_t GetDetectorId() const
Definition: CbmMuchLayer.h:46
CbmMuchLayer::fSideF
CbmMuchLayerSide fSideF
Definition: CbmMuchLayer.h:68
CbmMuchLayer::fSideB
CbmMuchLayerSide fSideB
Definition: CbmMuchLayer.h:69
CbmMuchLayer::CbmMuchLayer
CbmMuchLayer()
Definition: CbmMuchLayer.cxx:20
CbmMuchLayer::GetSide
CbmMuchLayerSide * GetSide(Bool_t side)
Definition: CbmMuchLayer.h:49
CbmMuchLayer::GetSupportDy
Double_t GetSupportDy() const
Definition: CbmMuchLayer.h:51
CbmMuchLayer::ClassDef
ClassDef(CbmMuchLayer, 1)
CbmMuchLayer::SetSupportDx
void SetSupportDx(Double_t supDx)
Definition: CbmMuchLayer.h:53
CbmMuchLayer::GetSupportDz
Double_t GetSupportDz() const
Definition: CbmMuchLayer.h:52
CbmMuchLayer::~CbmMuchLayer
virtual ~CbmMuchLayer()
Definition: CbmMuchLayer.cxx:72
CbmMuchLayer::SetSupportDz
void SetSupportDz(Double_t supDz)
Definition: CbmMuchLayer.h:55
CbmMuchLayer::fSupportDy
Double_t fSupportDy
Definition: CbmMuchLayer.h:71
CbmMuchLayer::GetZtoStationCenter
Double_t GetZtoStationCenter() const
Definition: CbmMuchLayer.h:57
CbmMuchLayer::GetDz
Double_t GetDz()
Definition: CbmMuchLayer.cxx:77
CbmMuchLayer::SetSupportDy
void SetSupportDy(Double_t supDy)
Definition: CbmMuchLayer.h:54
CbmMuchLayerSide
Definition: CbmMuchLayerSide.h:22
CbmMuchLayer::fSupportDx
Double_t fSupportDx
Definition: CbmMuchLayer.h:70
CbmMuchLayer::GetSupportDx
Double_t GetSupportDx() const
Definition: CbmMuchLayer.h:50
CbmMuchLayer::fZtoStationCenter
Double_t fZtoStationCenter
Definition: CbmMuchLayer.h:74
CbmMuchLayer::fDetectorId
Int_t fDetectorId
Definition: CbmMuchLayer.h:66
CbmMuchLayer::GetZ
Double_t GetZ() const
Definition: CbmMuchLayer.h:56
CbmMuchLayer::GetSideF
CbmMuchLayerSide * GetSideF()
Definition: CbmMuchLayer.h:47
CbmMuchLayer
Definition: CbmMuchLayer.h:21
CbmMuchLayer::GetSideB
CbmMuchLayerSide * GetSideB()
Definition: CbmMuchLayer.h:48
CbmMuchLayer::fSupportDz
Double_t fSupportDz
Definition: CbmMuchLayer.h:72