FairRoot/PandaRoot
PndRich.h
Go to the documentation of this file.
1 #ifndef PNDRICH_H
2 #define PNDRICH_H
3 
4 #include "FairDetector.h"
5 #include "PndGeoHandling.h"
6 #include "PndRichGeo.h"
7 
8 #include "TVector3.h"
9 #include "TLorentzVector.h"
10 
11 class PndRichPDPoint;
12 class PndRichBarPoint;
13 class FairVolume;
14 class TClonesArray;
15 
16 class PndRich: public FairDetector
17 {
18 
19  public:
20 
25  PndRich(const char* Name, Bool_t Active);
26 
28  PndRich();
29 
31  virtual ~PndRich();
32 
34  virtual void Initialize();
35 
39  virtual Bool_t ProcessHits( FairVolume* v=0);
40 
42  virtual void Register();
43 
45  virtual TClonesArray* GetCollection(Int_t iColl) const ;
46 
48  virtual void Reset();
49 
51  void ConstructGeometry();
52  void ConstructOpGeometry();
53 
54  void SetRunCherenkov(Bool_t const & ch) { fRunCherenkov = ch; };
55 
56  void SetGeoVersion(UInt_t const & version) { fGeoVersion = version; };
57 
58  void UseProtection(Bool_t const & up) { fUseProtection = up; };
59 
60  std::vector<std::string> fListOfSensitives;
61  bool CheckIfSensitive(std::string name);
62 
64 
65 
69  PndRichPDPoint* AddPDPoint(Int_t trackID, Int_t detID,
70  TVector3 pos, TVector3 mom,
71  Double_t time, Double_t length,
72  Double_t eLoss, UInt_t EventId=0);
73  PndRichBarPoint* AddBarPoint(Int_t trackID, Int_t detID,
74  TVector3 pos, TVector3 mom,
75  Double_t time, Double_t length,
76  Int_t pdgCode, Double_t thetaC,
77  Int_t eventID, Double_t mass,
78  TVector3 pos0, TVector3 mom0);
79 
84  virtual void CopyClones( TClonesArray* , TClonesArray* ,
85  Int_t ) {;} //cl1 cl2 offset //[R.K.03/2017] unused variable(s)
86  virtual void SetSpecialPhysicsCuts() {;}
87  virtual void EndOfEvent();
88  virtual void FinishPrimary() {;}
89  virtual void FinishRun();
90  virtual void BeginPrimary() {;}
91  virtual void PostTrack() {;}
92  virtual void PreTrack() {;}
93  virtual void BeginEvent();
94 
95  private:
96 
100  Int_t fTrackID;
101  Int_t fVolumeID;
102  TLorentzVector fPos;
103  TLorentzVector fMom;
107 
110 
113  UInt_t fGeoVersion;
114 
119 
120  PndRich(const PndRich&);
121  PndRich& operator=(const PndRich&);
122 
123  void DefGeoVersion();
124 
125  std::vector<Double_t> fWlPhoton;
126  std::vector<Double_t> fPDE;
127 
128  std::map <Int_t,Int_t> trackid;
129 
132 
133  //TGeoElement *C;
134  //TGeoElement *H;
135  //TGeoElement *B;
136  //TGeoIsotope *B10;
137  //TGeoIsotope *B11;
138  //TGeoMaterial *matRcihProt;
139  //TGeoMedium *med;
140 
141  ClassDef(PndRich,1)
142 };
143 
144 #endif //PNDRICH_H
bool CheckIfSensitive(std::string name)
Definition: PndRich.cxx:655
TVector3 pos
PndGeoHandling * fGeoH
Definition: PndRich.h:109
virtual void FinishRun()
Definition: PndRich.cxx:291
TLorentzVector fMom
position at entrance
Definition: PndRich.h:103
virtual void SetSpecialPhysicsCuts()
Definition: PndRich.h:86
UInt_t fGeoVersion
Definition: PndRich.h:113
void SetRunCherenkov(Bool_t const &ch)
Definition: PndRich.h:54
virtual void FinishPrimary()
Definition: PndRich.h:88
Double_t fLength
time
Definition: PndRich.h:105
virtual void BeginPrimary()
Definition: PndRich.h:90
Double_t fTime
momentum at entrance
Definition: PndRich.h:104
virtual void PostTrack()
Definition: PndRich.h:91
PndRichPDPoint * AddPDPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, UInt_t EventId=0)
Definition: PndRich.cxx:664
Double_t fnOpt
Definition: PndRich.h:130
TLorentzVector fPos
volume id
Definition: PndRich.h:102
void UseProtection(Bool_t const &up)
Definition: PndRich.h:58
virtual void Initialize()
Definition: PndRich.cxx:106
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition: PndRich.cxx:378
Double_t mom
Definition: plot_dirc.C:14
TClonesArray * fPndRichBarPointCollection
Definition: PndRich.h:118
std::map< Int_t, Int_t > trackid
Definition: PndRich.h:128
__m128 v
Definition: P4_F32vec4.h:4
virtual void BeginEvent()
Definition: PndRich.cxx:302
PndRich()
Definition: PndRich.cxx:35
Class to access the naming information of the MVD.
std::vector< Double_t > fWlPhoton
Definition: PndRich.h:125
virtual void PreTrack()
Definition: PndRich.h:92
void ConstructOpGeometry()
Definition: PndRich.cxx:540
Bool_t fRunCherenkov
Definition: PndRich.h:112
Bool_t fUseProtection
///&lt; converter for detector names
Definition: PndRich.h:111
Double_t
Double_t fELoss
length
Definition: PndRich.h:106
std::vector< std::string > fListOfSensitives
Definition: PndRich.h:58
Double_t lhcbaerindex(Double_t n400, Double_t wl)
Definition: PndRich.cxx:645
void SetGeoVersion(UInt_t const &version)
Definition: PndRich.h:56
Double_t fZabar
Definition: PndRich.h:131
virtual void CopyClones(TClonesArray *, TClonesArray *, Int_t)
Definition: PndRich.h:84
TString name
PndRich & operator=(const PndRich &)
void ConstructGeometry()
Definition: PndRich.cxx:391
virtual void Reset()
Definition: PndRich.cxx:385
virtual ~PndRich()
Definition: PndRich.cxx:94
PndRichBarPoint * AddBarPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Double_t thetaC, Int_t eventID, Double_t mass, TVector3 pos0, TVector3 mom0)
Definition: PndRich.cxx:675
TClonesArray * fPndRichPDPointCollection
Definition: PndRich.h:117
virtual void EndOfEvent()
Definition: PndRich.cxx:342
void DefGeoVersion()
Definition: PndRich.cxx:349
Int_t fVolumeID
track index
Definition: PndRich.h:101
Int_t fTrackID
Definition: PndRich.h:100
virtual void Register()
Definition: PndRich.cxx:360
Double_t thetaC
Definition: plot_dirc.C:16
PndRichGeo * fGeo
energy loss
Definition: PndRich.h:108
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition: PndRich.cxx:161
std::vector< Double_t > fPDE
Definition: PndRich.h:126