CbmRoot
CbmMvdGeoHandler.h
Go to the documentation of this file.
1 
9 #ifndef CbmMvdGeoHandler_H_
10 #define CbmMvdGeoHandler_H_ 1
11 
12 #include <map>
13 using std::map;
14 
15 #include "CbmMvdDetector.h"
16 #include "CbmMvdStationPar.h"
17 #include "TObject.h"
18 
19 #include "tools/CbmMvdHelper.h"
20 
21 class TGeoBBox;
22 class TGeoVolume;
23 class TGeoHMatrix;
24 
33  scripted
34 };
35 
36 
37 class CbmMvdGeoHandler : public TObject {
38 public:
43 
48 
49  void Init(Bool_t isSimulation = kFALSE);
50 
54  Int_t GetSensorAddress();
55 
59  Int_t GetSensorAddress(const TString& path);
60 
61  Double_t GetSizeX(const TString& path);
62  Double_t GetSizeY(const TString& path);
63  Double_t GetSizeZ(const TString& path);
64  Double_t GetX(const TString& path);
65  Double_t GetY(const TString& path);
66  Double_t GetZ(const TString& path);
67  Int_t GetStation(const TString& path);
68  void Fill();
69  map<Int_t, Int_t> GetMap() { return fStationMap; };
70  void PrintGeoParameter();
71  Int_t GetIDfromPath(TString path);
72 
73  void SetSensorTyp(CbmMvdSensorTyp typ) { fSensorTyp = typ; };
74 
75 
76 private:
77  void NavigateTo(const TString& sensor);
78  void GetPipe();
79  void GetGeometryTyp();
80  void FillParameter();
81  void FillDetector();
82  void FillStationMap();
83 
84 
86 
89 
90  map<Int_t, Int_t> fStationMap;
91 
92  Bool_t fIsSimulation;
93 
94  UInt_t fGeoPathHash;
95  TGeoVolume* fCurrentVolume;
96  TGeoBBox* fVolumeShape;
97  Double_t fGlobal[3];
98  TGeoHMatrix* fGlobalMatrix;
99  Int_t fLayerId;
100  Int_t fModuleId;
101  Int_t fModuleType;
102  Int_t fStation;
103  TString fMother;
105  Int_t fVolId;
107 
108  Double_t fWidth;
109  Double_t fHeight;
110  Double_t fRadLength;
111  Double_t fBeamwidth;
112  Double_t fBeamheight;
113  Double_t fThickness;
114  Double_t fXres;
115  Double_t fYres;
116 
117  TString fStationName;
118  TString fDetectorName;
119  TString fSectorName;
120  TString fQuadrantName;
121  TString fSensorHolding;
122  TString fSensorName;
123  TString fnodeName;
124 
127 
128  ClassDef(CbmMvdGeoHandler, 4)
129 };
130 
131 #endif //CbmMvdGeoHandler_H
CbmMvdGeoHandler::fCurrentVolume
TGeoVolume * fCurrentVolume
Definition: CbmMvdGeoHandler.h:95
CbmMvdGeoHandler::fDetectorName
TString fDetectorName
Definition: CbmMvdGeoHandler.h:118
CbmMvdDetector.h
CbmMvdGeoHandler::fGlobalMatrix
TGeoHMatrix * fGlobalMatrix
Global center of volume.
Definition: CbmMvdGeoHandler.h:98
CbmMvdGeoHandler::fSensorTyp
CbmMvdSensorTyp fSensorTyp
Definition: CbmMvdGeoHandler.h:85
CbmMvdGeoHandler::fHeight
Double_t fHeight
Definition: CbmMvdGeoHandler.h:109
CbmMvdGeoHandler::Init
void Init(Bool_t isSimulation=kFALSE)
Definition: CbmMvdGeoHandler.cxx:84
CbmMvdGeoHandler::GetY
Double_t GetY(const TString &path)
Definition: CbmMvdGeoHandler.cxx:158
CbmMvdGeoHandler::SetSensorTyp
void SetSensorTyp(CbmMvdSensorTyp typ)
Definition: CbmMvdGeoHandler.h:73
CbmMvdGeoHandler::Fill
void Fill()
Definition: CbmMvdGeoHandler.cxx:371
CbmMvdGeoHandler::fBeamwidth
Double_t fBeamwidth
Definition: CbmMvdGeoHandler.h:111
scripted
@ scripted
Definition: CbmMvdGeoHandler.h:33
CbmMvdGeoHandler::fWidth
Double_t fWidth
Definition: CbmMvdGeoHandler.h:108
CbmMvdGeoHandler::fVolumeShape
TGeoBBox * fVolumeShape
Definition: CbmMvdGeoHandler.h:96
CbmMvdGeoHandler::fModuleId
Int_t fModuleId
Definition: CbmMvdGeoHandler.h:100
CbmMvdGeoHandler::fSectorName
TString fSectorName
Definition: CbmMvdGeoHandler.h:119
CbmMvdGeoHandler::FillStationMap
void FillStationMap()
Definition: CbmMvdGeoHandler.cxx:559
CbmMvdGeoHandler::fnodeName
TString fnodeName
Definition: CbmMvdGeoHandler.h:123
CbmMvdGeoHandler::fStationName
TString fStationName
Definition: CbmMvdGeoHandler.h:117
CbmMvdGeoHandler::GetMap
map< Int_t, Int_t > GetMap()
Definition: CbmMvdGeoHandler.h:69
CbmMvdGeoHandler::fXres
Double_t fXres
Definition: CbmMvdGeoHandler.h:114
CbmMvdGeoHandler::fSensorHolding
TString fSensorHolding
Definition: CbmMvdGeoHandler.h:121
CbmMvdGeoHandler::GetGeometryTyp
void GetGeometryTyp()
Definition: CbmMvdGeoHandler.cxx:301
CbmMvdGeoHandler::fGlobal
Double_t fGlobal[3]
Definition: CbmMvdGeoHandler.h:97
CbmMvdGeoHandler
Definition: CbmMvdGeoHandler.h:37
MiniCbm
@ MiniCbm
Definition: CbmMvdGeoHandler.h:32
CbmMvdGeoHandler::GetX
Double_t GetX(const TString &path)
Definition: CbmMvdGeoHandler.cxx:165
CbmMvdGeoHandler::fLayerId
Int_t fLayerId
Definition: CbmMvdGeoHandler.h:99
CbmMvdGeoHandler::PrintGeoParameter
void PrintGeoParameter()
Definition: CbmMvdGeoHandler.cxx:555
CbmMvdGeoHandler::FillDetector
void FillDetector()
Definition: CbmMvdGeoHandler.cxx:380
CbmMvdGeoHandler::FillParameter
void FillParameter()
Definition: CbmMvdGeoHandler.cxx:538
CbmMvdGeoHandler::fDetector
CbmMvdDetector * fDetector
Definition: CbmMvdGeoHandler.h:87
CbmMvdStationPar.h
ThreeStation
@ ThreeStation
Definition: CbmMvdGeoHandler.h:29
CbmMvdGeoHandler::GetStation
Int_t GetStation(const TString &path)
Definition: CbmMvdGeoHandler.cxx:173
CbmMvdGeoHandler::~CbmMvdGeoHandler
~CbmMvdGeoHandler()
Destructor.
Definition: CbmMvdGeoHandler.cxx:79
CbmMvdGeoHandler::fGeoTyp
CbmMvdGeoTyp fGeoTyp
Definition: CbmMvdGeoHandler.h:104
CbmMvdGeoHandler::GetZ
Double_t GetZ(const TString &path)
Definition: CbmMvdGeoHandler.cxx:151
Default
@ Default
Definition: CbmMvdGeoHandler.h:26
CbmMvdGeoHandler::NavigateTo
void NavigateTo(const TString &sensor)
Definition: CbmMvdGeoHandler.cxx:181
CbmMvdSensorTyp
CbmMvdSensorTyp
Definition: CbmMvdHelper.h:4
CbmMvdGeoHandler::fGeoPathHash
UInt_t fGeoPathHash
Definition: CbmMvdGeoHandler.h:94
TwoStation
@ TwoStation
Definition: CbmMvdGeoHandler.h:28
CbmMvdGeoHandler::fSensorName
TString fSensorName
Definition: CbmMvdGeoHandler.h:122
FourStationShift
@ FourStationShift
Definition: CbmMvdGeoHandler.h:31
CbmMvdGeoHandler::CbmMvdGeoHandler
CbmMvdGeoHandler(const CbmMvdGeoHandler &)
CbmMvdGeoHandler::GetSizeY
Double_t GetSizeY(const TString &path)
Definition: CbmMvdGeoHandler.cxx:137
CbmMvdDetector
Definition: CbmMvdDetector.h:39
CbmMvdGeoHandler::fVolId
Int_t fVolId
Definition: CbmMvdGeoHandler.h:105
CbmMvdGeoHandler::fStationMap
map< Int_t, Int_t > fStationMap
Definition: CbmMvdGeoHandler.h:90
CbmMvdGeoHandler::fQuadrantName
TString fQuadrantName
Definition: CbmMvdGeoHandler.h:120
CbmMvdGeoHandler::fThickness
Double_t fThickness
Definition: CbmMvdGeoHandler.h:113
CbmMvdGeoHandler::fBeamheight
Double_t fBeamheight
Definition: CbmMvdGeoHandler.h:112
CbmMvdGeoHandler::fStation
Int_t fStation
Definition: CbmMvdGeoHandler.h:102
CbmMvdGeoHandler::fStationNumber
Int_t fStationNumber
Definition: CbmMvdGeoHandler.h:106
CbmMvdGeoHandler::fStationPar
CbmMvdStationPar * fStationPar
Definition: CbmMvdGeoHandler.h:88
CbmMvdGeoHandler::fRadLength
Double_t fRadLength
Definition: CbmMvdGeoHandler.h:110
CbmMvdStationPar
Definition: CbmMvdStationPar.h:22
beamtest
@ beamtest
Definition: CbmMvdGeoHandler.h:27
CbmMvdGeoHandler::GetPipe
void GetPipe()
Definition: CbmMvdGeoHandler.cxx:256
CbmMvdGeoHandler::fIsSimulation
Bool_t fIsSimulation
Definition: CbmMvdGeoHandler.h:92
CbmMvdGeoHandler::CbmMvdGeoHandler
CbmMvdGeoHandler()
Constructor.
Definition: CbmMvdGeoHandler.cxx:32
CbmMvdGeoHandler::GetSizeZ
Double_t GetSizeZ(const TString &path)
Definition: CbmMvdGeoHandler.cxx:144
FourStation
@ FourStation
Definition: CbmMvdGeoHandler.h:30
CbmMvdGeoHandler::operator=
CbmMvdGeoHandler operator=(const CbmMvdGeoHandler &)
CbmMvdGeoHandler::GetSensorAddress
Int_t GetSensorAddress()
Return module address calculated based on the current node in the TGeoManager.
Definition: CbmMvdGeoHandler.cxx:114
CbmMvdHelper.h
CbmMvdGeoHandler::GetSizeX
Double_t GetSizeX(const TString &path)
Definition: CbmMvdGeoHandler.cxx:130
CbmMvdGeoHandler::fMother
TString fMother
StationTypeID, 1..3.
Definition: CbmMvdGeoHandler.h:103
CbmMvdGeoHandler::GetIDfromPath
Int_t GetIDfromPath(TString path)
Definition: CbmMvdGeoHandler.cxx:339
CbmMvdGeoTyp
CbmMvdGeoTyp
Definition: CbmMvdGeoHandler.h:25
CbmMvdGeoHandler::fYres
Double_t fYres
Definition: CbmMvdGeoHandler.h:115
CbmMvdGeoHandler::fModuleType
Int_t fModuleType
Definition: CbmMvdGeoHandler.h:101