CbmRoot
Loading...
Searching...
No Matches
CbmRichGeoManager.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2020 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Semen Lebedev, Andrey Lebedev [committer] */
4
5/*
6 * CbmRichGeoManager.h
7 *
8 * Created on: Dec 16, 2015
9 * Author: slebedev
10 */
11
12#include "CbmRichRecGeoPar.h"
13
14#include "TVector3.h"
15
16#ifndef RICH_CBMRICHGEOMANAGER_H_
17#define RICH_CBMRICHGEOMANAGER_H_
18
19#include <RtypesCore.h> // for Bool_t, Double_t
20
22class TVector3;
23
25
26private:
27public:
29
30public:
35 {
36 static CbmRichGeoManager fInstance;
37 return fInstance;
38 }
39
40 void DetectGeometryType();
41
53 void RotatePoint(TVector3* inPos, TVector3* outPos, Bool_t noTilting = false);
54
55
56 void RotatePointCyl(TVector3* inPos, TVector3* outPos, Bool_t noTilting = false, Bool_t noShift = false);
57
58 void RotatePointTwoWings(TVector3* inPos, TVector3* outPos, Bool_t noTilting = false);
59
60 void RotatePointImpl(TVector3* inPos, TVector3* outPos, Double_t phi, Double_t theta, Double_t pmtX, Double_t pmtY,
61 Double_t pmtZ);
62
69 Bool_t IsPointInsidePmt(const TVector3* rotatedPoint);
70
71private:
76
80 void InitGeometry();
81
82 void InitMirror();
83
84 void InitPmt();
85
86 void InitPmtCyl();
87
92
97};
98
99#endif /* RICH_CBMRICHGEOMANAGER_H_ */
RICH geometry parameters for the reconstruction. This class is used for convinient storing of the bas...
void RotatePoint(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false)
CbmRichGeoManager(const CbmRichGeoManager &)
Copy constructor.
CbmRichGeoManager & operator=(const CbmRichGeoManager &)
Assignment operator.
CbmRichRecGeoPar * fGP
void RotatePointCyl(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false, Bool_t noShift=false)
Bool_t IsPointInsidePmt(const TVector3 *rotatedPoint)
static CbmRichGeoManager & GetInstance()
void RotatePointTwoWings(TVector3 *inPos, TVector3 *outPos, Bool_t noTilting=false)
void RotatePointImpl(TVector3 *inPos, TVector3 *outPos, Double_t phi, Double_t theta, Double_t pmtX, Double_t pmtY, Double_t pmtZ)
PMT parameters for the RICH geometry.