#ifndef PNDRICHRECO_H #define PNDRICHRECO_H #include "FairGeoSet.h" #include "TVector3.h" #include "TClonesArray.h" #include "PndRichGeo.h" #include "PndRichPhoton.h" #include "TVector3.h" #include "TLorentzVector.h" #include class TClonesArray; using std::map; using std::vector; class PndRichReco //: public FairGeoSet { private: // removed from PndPidCorrelator.h TClonesArray* fRichPDHit; //! PndRichPDHit TCA PndRichGeo* fGeo; UInt_t fGeoVersion; // flat mirror parametrs UInt_t fNumberOfFlatMirrorSegments; std::vector fMiddleFlatMirrorPoint; std::vector fSizeOfFlatMirror; std::vector fNormalOfFlatMirror; Double_t fPhDetAngle; Double_t fZamid; protected: public: PndRichReco(); ~PndRichReco(); void Register(); void SetGeoVersion(UInt_t version) { fGeoVersion = version; }; void RichFullReconstruction(TVector3 pos, TVector3 dir, Float_t &chi2, Float_t &chTh, Float_t &dChTh, Int_t &nph ); std::vector CherenkovPhotonListFlat( TVector3 pos, TVector3 dir, Double_t time ); double BetaPeakFinding(std::vector photons, Double_t nopt, Double_t nnz); void HitSelection(std::vector &ph, std::vector &th, std::vector photons, Double_t beta, Double_t nopt, Double_t nnz); vector FlatMirrorReflections( TVector3 point1, TVector3 point2 ); ClassDef(PndRichReco,1) }; #endif