//-------------------------------------------------------------------------- // File and Version Information: // $Id: PndFsmTrack.cc,v 1.16 2006/10/06 15:19:11 aida Exp $ // // Description: // Class PndFsmTrack // // Candidate "Tracks" or "Particles" for the Fast Simulation // // 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 // //------------------------------------------------------------------------ //----------------------- // This Class's Header -- //----------------------- #include "PndFsmTrack.h" #include "PndFsmResponse.h" //#include "FastSimApp/FsmHitMap.hh" //#include "FsmDetTypes.hh" //------------- // C Headers -- //------------- #include using std::cout; using std::endl; using std::ostream; //--------------- // C++ Headers -- //--------------- //------------------------------- // Collaborating Class Headers -- //------------------------------- //#include "PDT/PdtEntry.hh" //----------------------------------------------------------------------- // Local Macros, Typedefs, Structures, Unions and Forward Declarations -- //----------------------------------------------------------------------- //---------------- // Constructors -- //---------------- PndFsmTrack::PndFsmTrack() { setP4(TLorentzVector(0.,0.,0.,0.)); setStartVtx(TVector3(0.,0.,0.)); setStopVtx(TVector3(0.,0.,0.)); setPdt(0); setMass2(0.); setMvddEdX(0.); setTpcdEdX(0.); setSttdEdX(0.); setCharge(0); setGTrackId(0); setDetResponse(0); } PndFsmTrack::PndFsmTrack(TLorentzVector p4, TVector3 start, TVector3 stop, double charge, int pdt, signed long trackId) { setP4(p4); setStartVtx(start); setStopVtx(stop); setCharge(charge); setPdt(pdt); setGTrackId(trackId); setDetResponse(0); setMass2( 0.0); setMvddEdX(0.0); setTpcdEdX(0.0); setSttdEdX(0.0); } //-------------- // Destructor -- //-------------- PndFsmTrack::~PndFsmTrack() { if (_detResponse) delete _detResponse; } //-------------- // Operations -- //-------------- void PndFsmTrack::setP4(TLorentzVector l) { _p4=l; } void PndFsmTrack::setStartVtx(TVector3 v) { _startVtx=v; } void PndFsmTrack::setStopVtx(TVector3 v) { _stopVtx=v; } void PndFsmTrack::setCharge(double c) { _charge=c; } void PndFsmTrack::setMass2(double c) { _Mass2=c; } void PndFsmTrack::setMvddEdX(double c) { _MvddEdX=c; } void PndFsmTrack::setTpcdEdX(double c) { _TpcdEdX=c; } void PndFsmTrack::setSttdEdX(double c) { _SttdEdX=c; } void PndFsmTrack::setPdt(int pdt) { _pdt=pdt; } void PndFsmTrack::setGTrackId(signed long id) { _gTrackId=id; } void PndFsmTrack::setDetResponse(PndFsmResponse *resp) { _detResponse=resp; } void PndFsmTrack::print(ostream &o) { o<<"PndFsmTrack printout"<"< " << endl; o<<" Vtx2 : < "<< _stopVtx.X() <<" / " <<_stopVtx.Y() <<" / " <<_stopVtx.Z( )<<" > " << endl; o<<" charge = "<< _charge <<" / lundId = "<<_pdt <<" / gTrackId = "<<_gTrackId <print(o); }