FairRoot/PandaRoot
PndRichReco.h
Go to the documentation of this file.
1 #ifndef PNDRICHRECO_H
2 #define PNDRICHRECO_H
3 
4 #include "FairGeoSet.h"
5 #include "TVector3.h"
6 #include "TClonesArray.h"
7 #include "PndRichGeo.h"
8 #include "PndRichPhoton.h"
9 #include "PndRichBarPoint.h"
10 #include "PndRichMirrorSegment.h"
11 #include "TVector3.h"
12 #include "TLorentzVector.h"
13 #include <map>
14 #include <TVectorT.h>
15 #include <TMatrixT.h>
16 
17 class TClonesArray;
18 
19 using std::map;
20 using std::vector;
21 using std::pair;
22 
23 class PndRichReco //: public FairGeoSet
24 {
25 
26  private:
27  // removed from PndPidCorrelator.h
28  TClonesArray* fRichPDHit;
29 
31  UInt_t fEvent;
32  UInt_t fGeoVersion;
34  UInt_t fParticleID;
36  TVector3 fTrackPosition;
37  TVector3 fTrackDirection;
38  // flat mirror parametrs
39  std::vector<PndRichMirrorSegment> fMirrSegs;
40 
44  TVectorT<double> gResVect;
45  TMatrixT<double> gRotMatr;
46 
47  protected:
48 
49  public:
50  PndRichReco();
51  PndRichReco(UInt_t version);
52  virtual ~PndRichReco();
53 
54  void Init();
55  void Register();
56 
57  void SetGeoVersion(UInt_t version) { fGeoVersion = version; };
58  void RichFullReconstruction(TVector3 pos, TVector3 dir, Float_t ts, Float_t &chi2, Float_t &chTh, Float_t &dChTh, Int_t &nph );
59  std::vector<double> GetPhis();
60  std::vector<double> GetThetas();
61  std::vector<double> GetDThetas();
62  std::vector<PndRichPhoton> CherenkovPhotonListFlat( PndRichBarPoint *track );
63  double BetaPeakFinding(std::vector<PndRichPhoton> photons, Double_t nopt, Double_t nnz);
64  void HitSelection(std::vector<size_t> &it, std::vector<double> &ph, std::vector<double> &th,
65  std::vector<PndRichPhoton> photons,
66  Double_t beta, Double_t nopt, Double_t nnz, Double_t dthc);
67  void AppendFlatMirrorReflections(std::vector<PndRichPhoton> &ph,
68  TVector3 hit,
69  Double_t hitTime,
71 
72  ClassDef(PndRichReco,1)
73 };
74 
75 #endif
std::vector< PndRichMirrorSegment > fMirrSegs
Definition: PndRichReco.h:39
TVector3 pos
std::vector< double > GetDThetas()
void HitSelection(std::vector< size_t > &it, std::vector< double > &ph, std::vector< double > &th, std::vector< PndRichPhoton > photons, Double_t beta, Double_t nopt, Double_t nnz, Double_t dthc)
TVector3 fTrackDirection
Definition: PndRichReco.h:37
PndTransMap * map
Definition: sim_emc_apd.C:99
Double_t fPhDetAngle
Definition: PndRichReco.h:41
std::vector< double > GetThetas()
void RichFullReconstruction(TVector3 pos, TVector3 dir, Float_t ts, Float_t &chi2, Float_t &chTh, Float_t &dChTh, Int_t &nph)
TClonesArray * fRichPDHit
Definition: PndRichReco.h:28
Double_t fZamid
Definition: PndRichReco.h:42
UInt_t fEvent
Definition: PndRichReco.h:31
double BetaPeakFinding(std::vector< PndRichPhoton > photons, Double_t nopt, Double_t nnz)
TVectorT< double > gResVect
Definition: PndRichReco.h:44
PndRichGeo * fGeo
PndRichPDHit TCA.
Definition: PndRichReco.h:30
Double_t fMirrorLength
Definition: PndRichReco.h:35
void AppendFlatMirrorReflections(std::vector< PndRichPhoton > &ph, TVector3 hit, Double_t hitTime, PndRichBarPoint *track)
Double_t fTrackTime
Definition: PndRichReco.h:43
Double_t
UInt_t fParticleID
Definition: PndRichReco.h:34
void Register()
PndMCTrack * track
Definition: anaLmdCluster.C:89
virtual ~PndRichReco()
UInt_t fGeoVersionMirr
Definition: PndRichReco.h:33
TVector3 fTrackPosition
Definition: PndRichReco.h:36
TMatrixT< double > gRotMatr
Definition: PndRichReco.h:45
UInt_t fGeoVersion
Definition: PndRichReco.h:32
std::vector< double > GetPhis()
PndSdsMCPoint * hit
Definition: anasim.C:70
std::vector< PndRichPhoton > CherenkovPhotonListFlat(PndRichBarPoint *track)
PndPidEmcAssociatorTask * ts
void SetGeoVersion(UInt_t version)
Definition: PndRichReco.h:57