//-------------------------------------------------------------------------- // File and Version Information: // $Id: PndFsmResponse.hh,v 1.6 2007/05/24 08:07:40 klausg Exp $ // // Description: // Class PndFsmResponse // // Response of FsmDet for a FsmTrack // // This software was developed for the PANDA collaboration. If you // use all or part of it, please give an appropriate acknowledgement. // // Author List: // Klaus Goetzen Original Author // // Copyright Information: // Copyright (C) 2006 GSI // //------------------------------------------------------------------------ #ifndef PndFsmResponse_hh #define PndFsmResponse_hh //---------------------- // Base Class Headers -- //---------------------- //------------------------------- // Collaborating class Headers -- //------------------------------- //-------------------------------------------- // Collaborating class forward declarations -- // ------------------------------------------- #include #include "TVector3.h" class PndFsmAbsDet; class PndFsmResponse { public: //-------------------- // Public interface -- //-------------------- // // Constructors // /** Default ctor. */ PndFsmResponse(); /* Destructor */ virtual ~PndFsmResponse(); /** Accessors to contained information */ PndFsmAbsDet* detector() {return _detector;} bool detected() {return _detected;} double dE() {return _dE;} double dp() {return _dp;} double dtheta() {return _dtheta;} double dphi() {return _dphi;} double dt() {return _dt;} double dm() {return _dm;} double m2() {return _m2;} double MvddEdx() {return _MvddEdx;} double TpcdEdx() {return _TpcdEdx;} double SttdEdx() {return _SttdEdx;} double DrcDiscThtc() {return _DrcDiscThtc;} double DrcBarrelThtc() {return _DrcBarrelThtc;} double RichThtc() {return _RichThtc;} TVector3 dV() {return _dV;} double dVx() {return _dV.X();} double dVy() {return _dV.Y();} double dVz() {return _dV.Z();} double LHElectron() {return _LHElectron;} double LHMuon() {return _LHMuon;} double LHPion() {return _LHPion;} double LHKaon() {return _LHKaon;} double LHProton() {return _LHProton;} // // Modifiers // void setDetector(PndFsmAbsDet *detector); void setDetected(bool isdet); void setdE(double val); void setdp(double val); void setdtheta(double val); void setdphi(double val); void setdt(double val); void setdm(double val); void setm2(double val); void setMvddEdx(double val); void setTpcdEdx(double val); void setSttdEdx(double val); void setDrcDiscThtc(double val); void setDrcBarrelThtc(double val); void setRichThtc(double val); void setdV(TVector3 v); void setdV(double dx, double dy, double dz); void setLHElectron(double val); void setLHMuon(double val); void setLHPion(double val); void setLHKaon(double val); void setLHProton(double val); void print(std::ostream &o); private: //reference to the responding detector PndFsmAbsDet *_detector; bool _detected; //resolutions (absolute values) of: energy, momentum, theta, phi, time double _dE; double _dp; double _dtheta; double _dphi; double _dt; double _dm; //smearing of mass double _m2; //square of particle mass in Tof double _MvddEdx; //dEdx in Mvd double _TpcdEdx; //dEdx in Tpc double _SttdEdx; //dEdx in Stt double _DrcDiscThtc; //Theta_c Disc Dirc double _DrcBarrelThtc; //Theta_c Barrel Dirc double _RichThtc; //Theta_c Rich //resolution of vertex TVector3 _dV; //PID likelihoods for various particle hypotheses double _LHElectron; double _LHMuon; double _LHPion; double _LHKaon; double _LHProton; }; #endif