#ifndef PNDDCHPOINT_H #define PNDDCHPOINT_H #include "TObject.h" #include "TVector3.h" #include "CbmMCPoint.h" #include "PndDchMapper.h" class PndDchPoint : public CbmMCPoint { public: // Default constructor PndDchPoint(); // Constructor with arguments // trackID Index of MCTrack // evtID event number // pos Spacial coordinates [cm] // mom Momentum of track [GeV] // tof Time since event start [ns] // length Track length since creation [cm] // eLoss Energy deposit [GeV] PndDchPoint(Int_t trackID, Int_t evtID, Int_t chamber, Int_t plane, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss); // Copy constructor PndDchPoint(const PndDchPoint& point) { *this = point; }; // Destructor virtual ~PndDchPoint(); // Accessors Int_t GetTrackID() const { return fTrackID; } Int_t GetEventID() const { return fEventID; } Int_t GetPlane() const { return PndDchMapper::CalculatePlane(fDetectorID); } Int_t GetChamber() const { return PndDchMapper::CalculateChamber(fDetectorID); } // Output to screen virtual void Print(const Option_t*) const; private: // Modifiers void SetDetectorID(Int_t ch, Int_t pl) { fDetectorID = PndDchMapper::CalculateDetectorID(ch,pl); } protected: // number of event Int_t fEventID; ClassDef(PndDchPoint,1) }; #endif