CbmRoot
CbmMuchModuleGemRectangular.h
Go to the documentation of this file.
1 
6 #ifndef CBMMUCHMODULEGEMRECTANGULAR_H
7 #define CBMMUCHMODULEGEMRECTANGULAR_H 1
8 
9 #include <Rtypes.h> // for THashConsistencyHolder, ClassDef
10 #include <RtypesCore.h> // for Int_t, Double_t, Bool_t
11 #include <TVector3.h> // for TVector3
12 
13 #include <vector> // for vector
14 
15 #include "CbmMuchModuleGem.h" // for CbmMuchModuleGem
16 
19 
21 public:
23  CbmMuchModuleGemRectangular(Int_t iStation,
24  Int_t iLayer,
25  Bool_t iSide,
26  Int_t iModule,
27  TVector3 position,
28  TVector3 size,
29  Double_t cutRadius);
31  virtual Bool_t InitModule();
32  CbmMuchSectorRectangular* GetSector(Double_t x, Double_t y);
33  CbmMuchSectorRectangular* GetSector(Int_t ix, Int_t iy);
34  CbmMuchPadRectangular* GetPad(Double_t x, Double_t y);
35  std::vector<std::vector<Int_t>> GetGrid() { return fGrid; }
36  Int_t GetGridNx() { return fGridNx; }
37  Int_t GetGridNy() { return fGridNy; }
38  Double_t GetGridDx() { return fGridDx; }
39  Double_t GetGridDy() { return fGridDy; }
40 
41 protected:
43  Int_t fGridNx; // Number of grid values in X direction
44  Int_t fGridNy; // Number of grid values in Y direction
45  Double_t fGridDx; // X-width of the grid cell
46  Double_t fGridDy; // Y-width of the grid cell
47  std::vector<std::vector<Int_t>>
48  fGrid; // 2D-vector of sector indices on the grid
49 
50  // Grid related private functions
51  void InitNeighbourSectors();
52  void InitNeighbourPads();
53  Int_t GetGridIndexX(Double_t x);
54  Int_t GetGridIndexY(Double_t y);
55  Bool_t InitGrid(Bool_t useModuleDesign);
56 
58 };
59 #endif
CbmMuchModuleGemRectangular::GetGrid
std::vector< std::vector< Int_t > > GetGrid()
Definition: CbmMuchModuleGemRectangular.h:35
CbmMuchModuleGemRectangular::fGridNy
Int_t fGridNy
Definition: CbmMuchModuleGemRectangular.h:44
CbmMuchModuleGemRectangular::GetGridDx
Double_t GetGridDx()
Definition: CbmMuchModuleGemRectangular.h:38
CbmMuchModuleGemRectangular::InitGrid
Bool_t InitGrid(Bool_t useModuleDesign)
Definition: CbmMuchModuleGemRectangular.cxx:112
CbmMuchModuleGemRectangular::InitModule
virtual Bool_t InitModule()
Definition: CbmMuchModuleGemRectangular.cxx:253
CbmMuchModuleGemRectangular::GetGridIndexX
Int_t GetGridIndexX(Double_t x)
Definition: CbmMuchModuleGemRectangular.cxx:82
CbmMuchModuleGemRectangular::ClassDef
ClassDef(CbmMuchModuleGemRectangular, 1)
CbmMuchModuleGemRectangular::fGrid
std::vector< std::vector< Int_t > > fGrid
Definition: CbmMuchModuleGemRectangular.h:48
CbmMuchModuleGemRectangular::fGridDy
Double_t fGridDy
Definition: CbmMuchModuleGemRectangular.h:46
CbmMuchModuleGemRectangular
Definition: CbmMuchModuleGemRectangular.h:20
CbmMuchModuleGemRectangular::CbmMuchModuleGemRectangular
CbmMuchModuleGemRectangular()
Definition: CbmMuchModuleGemRectangular.cxx:23
CbmMuchModuleGemRectangular::~CbmMuchModuleGemRectangular
virtual ~CbmMuchModuleGemRectangular()
Definition: CbmMuchModuleGemRectangular.h:30
CbmMuchModuleGemRectangular::InitNeighbourSectors
void InitNeighbourSectors()
Definition: CbmMuchModuleGemRectangular.cxx:166
CbmMuchModuleGemRectangular::GetPad
CbmMuchPadRectangular * GetPad(Double_t x, Double_t y)
Definition: CbmMuchModuleGemRectangular.cxx:102
CbmMuchModuleGemRectangular::GetGridIndexY
Int_t GetGridIndexY(Double_t y)
Definition: CbmMuchModuleGemRectangular.cxx:92
CbmMuchModuleGem
Definition: CbmMuchModuleGem.h:24
CbmMuchSectorRectangular
Definition: CbmMuchSectorRectangular.h:24
CbmMuchModuleGemRectangular::GetSector
CbmMuchSectorRectangular * GetSector(Double_t x, Double_t y)
Definition: CbmMuchModuleGemRectangular.cxx:75
CbmMuchModuleGemRectangular::GetGridNx
Int_t GetGridNx()
Definition: CbmMuchModuleGemRectangular.h:36
CbmMuchModuleGemRectangular::InitNeighbourPads
void InitNeighbourPads()
Definition: CbmMuchModuleGemRectangular.cxx:207
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmMuchModuleGemRectangular::fGridNx
Int_t fGridNx
Definition: CbmMuchModuleGemRectangular.h:43
CbmMuchPadRectangular
Definition: CbmMuchPadRectangular.h:21
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmMuchModuleGemRectangular::GetGridNy
Int_t GetGridNy()
Definition: CbmMuchModuleGemRectangular.h:37
CbmMuchModuleGemRectangular::fUseModuleDesign
Bool_t fUseModuleDesign
Definition: CbmMuchModuleGemRectangular.h:42
CbmMuchModuleGemRectangular::fGridDx
Double_t fGridDx
Definition: CbmMuchModuleGemRectangular.h:45
CbmMuchModuleGem.h
CbmMuchModuleGemRectangular::GetGridDy
Double_t GetGridDy()
Definition: CbmMuchModuleGemRectangular.h:39