Go to the documentation of this file.
14 #ifndef CbmMuchGeoScheme_H
15 #define CbmMuchGeoScheme_H 1
18 #include <RtypesCore.h>
24 #include <TObjArray.h>
58 GetLayerSide(Int_t iStation, Int_t iLayer, Bool_t iSide)
const;
60 GetModule(Int_t iStation, Int_t iLayer, Bool_t iSide, Int_t iModule)
const;
99 Double_t
GetSizeX(
const TString& path);
100 Double_t
GetSizeY(
const TString& path);
101 Double_t
GetSizeZ(
const TString& path);
102 Double_t
GetX(
const TString& path);
103 Double_t
GetY(
const TString& path);
104 Double_t
GetZ(
const TString& path);
126 void Init(TObjArray* stations, Int_t flag);
127 void Init(TString digiFileName, Int_t flag);
134 std::vector<CbmMuchModule*>
GetModules()
const;
136 std::vector<CbmMuchModule*>
GetModules(Int_t iStation)
const;
137 std::vector<CbmMuchLayerSide*>
GetLayerSides(Int_t iStation)
const;
141 void StationNode(TGeoNode* MuchObjNode, TString MuchObjPath);
142 void LayerNode(TGeoNode* StNode, Int_t iStation, TString StPath);
159 Int_t
Intersect(Float_t
x, Float_t
y, Float_t dx, Float_t dy, Float_t r);
181 std::vector<std::vector<CbmMuchLayerSide*>>
fSides;
Double_t GetZ(const TString &path)
Int_t fGeoID
ModuleCopyID with module type.
Char_t GetAbsorberMat(Int_t i) const
Int_t fActive
LayerID within station, 1..4.
CbmMuchModule * GetModule(Int_t iStation, Int_t iLayer, Bool_t iSide, Int_t iModule) const
void StationNode(TGeoNode *MuchObjNode, TString MuchObjPath)
std::vector< CbmMuchLayerSide * > GetLayerSides(Int_t iStation) const
CbmMuchLayerSide * GetLayerSideByDetId(Int_t detId) const
static Bool_t fInitialized
TObjArray * GetStations() const
ClassDef(CbmMuchGeoScheme, 1)
Double_t GetLayersDz(Int_t st) const
TGeoHMatrix * fGlobalMatrix
Global center of volume.
Double_t GetSizeY(const TString &path)
Double_t fAcceptanceTanMin
@ kMuchLayerSide
LayerSide.
Double_t GetModulePhi(const TString &path)
TGeoBBox * fVolumeBoxShape
Double_t GetSizeX(const TString &path)
Double_t GetSizeZ(const TString &path)
void Init(TObjArray *stations, Int_t flag)
Double_t GetAbsorberZ0(Int_t i)
TGeoCone * GetMuchCave() const
std::vector< CbmMuchModuleGem * > GetGemModules() const
static Int_t GetElementId(UInt_t address, Int_t level)
void ExtractGeoParameter(TGeoNode *muchNode, const char *volumeName)
Double_t GetModuleH1(const TString &path)
Double_t GetSpacerLx() const
CbmMuchGeoScheme & operator=(const CbmMuchGeoScheme &)
Double_t GetModuleY(const TString &path)
CbmMuchStation * GetStationByDetId(Int_t detId) const
Double_t GetY(const TString &path)
Double_t GetModuleX(const TString &path)
static Int_t GetLayerSideIndex(Int_t address)
Double_t GetSpacerR() const
Int_t GetNStations() const
TArrayI fNSectorsPerLayer
static Int_t GetLayerIndex(Int_t address)
TGeoTrap * fVolumeTrapShape
static Int_t GetStationIndex(Int_t address)
Double_t GetActiveLy() const
Double_t GetMuchCaveZ0() const
CbmMuchLayerSide * muchLySd
static CbmMuchGeoScheme * Instance()
Int_t GetNAbsorbers() const
void LayerNode(TGeoNode *StNode, Int_t iStation, TString StPath)
std::vector< std::vector< CbmMuchLayerSide * > > fSides
Double_t GetActiveLx() const
Int_t Intersect(Float_t x, Float_t y, Float_t dx, Float_t dy, Float_t r)
TObjArray * GetAbsorbers() const
static CbmMuchGeoScheme * fInstance
void ActiveModuleNode(TGeoNode *moduleNode, Int_t iStation, Int_t iLayer, Int_t iModule, TString modulePath)
Int_t fLayer
StationTypeID, 1..3.
std::map< Int_t, Int_t > fMapSides
CbmMuchLayerSide * GetLayerSide(Int_t iStation, Int_t iLayer, Bool_t iSide) const
CbmMuchLayer * GetLayer(Int_t iStation, Int_t iLayer) const
void NavigateTo(const TString &path)
static Bool_t fModulesInitialized
Double_t GetModuleDZ(const TString &path)
std::vector< std::vector< CbmMuchModule * > > fModules
TGeoVolume * fCurrentVolume
void ClearClusterArrays()
Double_t GetActiveLz() const
CbmMuchGeoScheme(const CbmMuchGeoScheme &)
Double_t GetX(const TString &path)
Double_t fAcceptanceTanMax
CbmMuchStation * GetStation(Int_t iStation) const
std::vector< CbmMuchModule * > GetModules() const
Double_t GetModuleBl1(const TString &path)
Double_t GetSpacerPhi() const
Double_t GetModuleZ(const TString &path)
CbmMuchLayer * GetLayerByDetId(Int_t detId) const
CbmMuchModule * GetModuleByDetId(Int_t detId) const
void NavigateModule(const TString &path)
Double_t GetModuleTl1(const TString &path)
void CreateClusterArrays()
Int_t GetLayerSideNr(Int_t detId) const
void ModuleNode(TGeoNode *layerNode, Int_t iStation, Int_t iLayer, TString layerPath)
Double_t GetSpacerLy() const