// ------------------------------------------------------------------------- // ----- FairRadLenPoint header file ----- // ----- Created 14/01/08 by M. Al-Turany ----- // ------------------------------------------------------------------------- /** FairRadLenPoint.h *@author M. Al-Turany * */ #ifndef FAIRRADLENPOINT_H #define FAIRRADLENPOINT_H #include "TObject.h" #include "TVector3.h" #include "FairMCPoint.h" class FairRadLenPoint : public FairMCPoint { public: /** Default constructor **/ FairRadLenPoint(); FairRadLenPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, TVector3 posOut, TVector3 momOut, Float_t fA, Float_t fZ, Float_t fDensity, Float_t fRadLen); /** Destructor **/ virtual ~FairRadLenPoint(); /** Accessors **/ Float_t GetA() { return fA; } Float_t GetZm() { return fZmat; } Float_t GetRadLength() { return fRadLen;} Float_t GetDensity() { return fDensity ; } /** Modifiers **/ void SetA(Double_t A) { fA = A; } void SetZm(Double_t Z) { fZmat = Z; } void SetRadLength(Double_t length) { fRadLen = length;} void SetDensity (Double_t Density) { fDensity = Density; } /** Output to screen **/ virtual void Print(const Option_t* opt) const; Double_t GetXOut() const { return fXOut;}; Double_t GetYOut() const { return fYOut;}; Double_t GetZOut() const { return fZOut;}; Double_t GetPxOut() const { return fPxOut; } Double_t GetPyOut() const { return fPyOut; } Double_t GetPzOut() const { return fPzOut; } TVector3 GetPosition() const { return TVector3(fX, fY, fZ);} TVector3 GetPositionOut() const { return TVector3(fXOut, fYOut, fZOut);} void PositionOut(TVector3& pos) const { pos.SetXYZ(fXOut, fYOut, fZOut);}; void MomentumOut(TVector3& mom) const { mom.SetXYZ(fPxOut,fPyOut,fPzOut); } protected: Float_t fA; // A of material Float_t fZmat; // Z of material Float_t fDensity; // density of material Float_t fRadLen; // radiation length Double_t fXOut, fYOut, fZOut; Double_t fPxOut, fPyOut, fPzOut; ClassDef(FairRadLenPoint,1) }; #endif