CbmRoot
Loading...
Searching...
No Matches
CbmTofGeoHandler.h
Go to the documentation of this file.
1/* Copyright (C) 2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer] */
4
5// -------------------------------------------------------------------------
6// ----- CbmTofGeoHandler header file -----
7// ----- Created 20/11/12 by F. Uhlig -----
8// -------------------------------------------------------------------------
9
10
18#ifndef CBMTOFGEOHANDLER_H
19#define CBMTOFGEOHANDLER_H 1
20
29
30#include "CbmTofDetectorId.h" // for CbmTofDetectorId (ptr only), CbmTofDet...
31
32#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
33#include <RtypesCore.h> // for Int_t, Float_t, Bool_t, kFALSE, Double_t
34#include <TObject.h> // for TObject
35#include <TString.h> // for TString
36
37class TGeoBBox;
38class TGeoHMatrix;
39class TGeoVolume;
40
41class CbmTofGeoHandler : public TObject {
42 public:
45
46
49
50 Int_t GetUniqueDetectorId();
51 Int_t GetUniqueCounterId();
52 Int_t GetUniqueDetectorId(TString volName);
53
54 Int_t GetCellId(Int_t uniqueId);
55
56 Int_t GetGeoVersion() { return fGeoVersion; }
57
58 Int_t Init(Bool_t isSimulation = kFALSE);
59
60 Int_t GetDetSystemId(Int_t uniqueId);
61 Int_t GetSMType(Int_t uniqueId);
62 Int_t GetSModule(Int_t uniqueId);
63 Int_t GetCounter(Int_t uniqueId);
64 Int_t GetGap(Int_t uniqueId);
65 Int_t GetCell(Int_t uniqueId);
66 Int_t GetRegion(Int_t uniqueId);
67
68 Float_t GetSizeX(TString volName);
69 Float_t GetSizeY(TString volName);
70 Float_t GetSizeZ(TString volName);
71 Float_t GetX(TString volName);
72 Float_t GetY(TString volName);
73 Float_t GetZ(TString volName);
74
75 void FillDetectorInfoArray(Int_t uniqueId);
76 void NavigateTo(TString volName);
77
78 // Implement Interface functions to the TGeoManager to be
79 // the same as for the VMC
80 Int_t CurrentVolOffID(Int_t off, Int_t& copy) const;
81 Int_t CurrentVolID(Int_t& copy) const;
82 Int_t VolId(const Text_t* name) const;
83 Int_t VolIdGeo(const char* name) const;
84 const char* CurrentVolName() const;
85 const char* CurrentVolOffName(Int_t off) const;
86 const char* CurrentNodeName() const;
87 const char* CurrentNodeOffName(Int_t off) const;
88
90
92
93 private:
96
98 Int_t fMCVersion;
99 Bool_t fUseNodeName;
100
104 TGeoVolume* fCurrentVolume;
105 TGeoBBox* fVolumeShape;
106 Double_t fGlobal[3];
107 TGeoHMatrix* fGlobalMatrix;
108
111
112 ClassDef(CbmTofGeoHandler, 0)
113};
114
115
116#endif //CBMTOFGEOHANDLER_H
TofGeometryVersions
@ k12b
@ k21a
@ k14a
@ k12a
@ k07a
Int_t VolIdGeo(const char *name) const
Int_t GetCell(Int_t uniqueId)
Int_t Init(Bool_t isSimulation=kFALSE)
void NavigateTo(TString volName)
Float_t GetZ(TString volName)
Float_t GetX(TString volName)
Int_t GetSModule(Int_t uniqueId)
TGeoHMatrix * fGlobalMatrix
Global centre of volume.
const char * CurrentVolOffName(Int_t off) const
Int_t VolId(const Text_t *name) const
Int_t GetCounter(Int_t uniqueId)
Int_t CurrentVolOffID(Int_t off, Int_t &copy) const
CbmTofGeoHandler operator=(const CbmTofGeoHandler &)
Int_t GetSMType(Int_t uniqueId)
CbmTofDetectorId * GetDetIdPointer()
Float_t GetSizeX(TString volName)
void FillDetectorInfoArray(Int_t uniqueId)
CbmTofGeoHandler(const CbmTofGeoHandler &)
const char * CurrentVolName() const
Float_t GetSizeY(TString volName)
Int_t GetRegion(Int_t uniqueId)
Float_t GetSizeZ(TString volName)
CbmTofDetectorId * fTofId
const char * CurrentNodeOffName(Int_t off) const
CbmTofDetectorInfo fDetectorInfoArray
const char * CurrentNodeName() const
Int_t CurrentVolID(Int_t &copy) const
TGeoVolume * fCurrentVolume
Int_t GetDetSystemId(Int_t uniqueId)
Int_t GetCellId(Int_t uniqueId)
Float_t GetY(TString volName)
Int_t GetGap(Int_t uniqueId)