CbmRoot
CbmRichGeoManager.h
Go to the documentation of this file.
1 /*
2  * CbmRichGeoManager.h
3  *
4  * Created on: Dec 16, 2015
5  * Author: slebedev
6  */
7 
8 #include "CbmRichRecGeoPar.h"
9 #include "TVector3.h"
10 
11 #ifndef RICH_CBMRICHGEOMANAGER_H_
12 #define RICH_CBMRICHGEOMANAGER_H_
13 
14 #include <RtypesCore.h> // for Bool_t, Double_t
15 
16 class CbmRichRecGeoPar;
17 class TVector3;
18 
20 
21 private:
22 public:
24 
25 public:
30  static CbmRichGeoManager fInstance;
31  return fInstance;
32  }
33 
34  void DetectGeometryType();
35 
47  void RotatePoint(TVector3* inPos, TVector3* outPos, Bool_t noTilting = false);
48 
49 
50  void RotatePointCyl(TVector3* inPos,
51  TVector3* outPos,
52  Bool_t noTilting = false,
53  Bool_t noShift = false);
54 
55  void RotatePointTwoWings(TVector3* inPos,
56  TVector3* outPos,
57  Bool_t noTilting = false);
58 
59  void RotatePointImpl(TVector3* inPos,
60  TVector3* outPos,
61  Double_t phi,
62  Double_t theta,
63  Double_t pmtX,
64  Double_t pmtY,
65  Double_t pmtZ);
66 
73  Bool_t IsPointInsidePmt(const TVector3* rotatedPoint);
74 
75 private:
80 
84  void InitGeometry();
85 
86  void InitMirror();
87 
88  void InitPmt();
89 
90  void InitPmtCyl();
91 
96 
101 };
102 
103 #endif /* RICH_CBMRICHGEOMANAGER_H_ */
CbmRichGeoManager::CbmRichGeoManager
CbmRichGeoManager()
Definition: CbmRichGeoManager.cxx:35
CbmRichGeoManager::GetInstance
static CbmRichGeoManager & GetInstance()
Definition: CbmRichGeoManager.h:29
CbmRichRecGeoPar.h
RICH geometry parameters for the reconstruction. This class is used for convinient storing of the bas...
CbmRichGeoManager::RotatePointCyl
void RotatePointCyl(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false, Bool_t noShift=false)
Definition: CbmRichGeoManager.cxx:441
CbmRichGeoManager::InitGeometry
void InitGeometry()
Definition: CbmRichGeoManager.cxx:37
CbmRichGeoManager::DetectGeometryType
void DetectGeometryType()
Definition: CbmRichGeoManager.cxx:66
CbmRichGeoManager::InitMirror
void InitMirror()
Definition: CbmRichGeoManager.cxx:328
CbmRichGeoManager::InitPmtCyl
void InitPmtCyl()
Definition: CbmRichGeoManager.cxx:95
CbmRichRecGeoPar
PMT parameters for the RICH geometry.
Definition: CbmRichRecGeoPar.h:87
CbmRichGeoManager::IsPointInsidePmt
Bool_t IsPointInsidePmt(const TVector3 *rotatedPoint)
Definition: CbmRichGeoManager.cxx:584
CbmRichGeoManager::RotatePoint
void RotatePoint(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false)
Definition: CbmRichGeoManager.cxx:407
CbmRichGeoManager::InitPmt
void InitPmt()
Definition: CbmRichGeoManager.cxx:257
CbmRichGeoManager::CbmRichGeoManager
CbmRichGeoManager(const CbmRichGeoManager &)
Copy constructor.
CbmRichGeoManager
Definition: CbmRichGeoManager.h:19
CbmRichGeoManager::operator=
CbmRichGeoManager & operator=(const CbmRichGeoManager &)
Assignment operator.
CbmRichGeoManager::RotatePointTwoWings
void RotatePointTwoWings(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false)
Definition: CbmRichGeoManager.cxx:424
CbmRichGeoManager::fGP
CbmRichRecGeoPar * fGP
Definition: CbmRichGeoManager.h:23
CbmRichGeoManager::RotatePointImpl
void RotatePointImpl(TVector3 *inPos, TVector3 *outPos, Double_t phi, Double_t theta, Double_t pmtX, Double_t pmtY, Double_t pmtZ)
Definition: CbmRichGeoManager.cxx:499