6 #ifndef PNDEMCAPDPOINT_H 7 #define PNDEMCAPDPOINT_H 11 #include "TLorentzVector.h" 12 #include "FairMCPoint.h" 32 PndEmcApdPoint(Int_t trackID, Int_t detID, Int_t evtID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Short_t mod, Short_t row, Short_t crys,
33 Short_t copy, Short_t flag);
42 Double_t
GetTheta()
const {
return fX == 0.0 && fY == 0.0 && fZ == 0.0 ? 0.0 :
TMath::ATan2(
sqrt(fX * fX + fY * fY), fZ) * TMath::RadToDeg(); };
43 Double_t
GetPhi()
const {
return fX == 0.0 && fY == 0.0 ? 0.0 :
TMath::ATan2(fY, fX) * TMath::RadToDeg(); };
49 void Position(TVector3 &pos) { pos.SetXYZ(fX, fY, fZ); };
50 void Momentum(TVector3 &mom) { mom.SetXYZ(fPx, fPy, fPz); };
51 Short_t
GetModule()
const {
return (fDetectorID / 100000000); };
52 Short_t
GetRow()
const {
return ((fDetectorID / 1000000) % 100); };
53 Short_t
GetCrystal()
const {
return (fDetectorID % 10000); };
54 Short_t
GetCopy()
const {
return ((fDetectorID / 10000) % 100); };
62 virtual void Print(
const Option_t *opt)
const;
Short_t GetCrystal() const
friend F32vec4 sqrt(const F32vec4 &a)
virtual ~PndEmcApdPoint()
void SetFlag(Short_t flag)
void Position(TVector3 &pos)
static T ATan2(const T &y, const T &x)
Double_t GetTheta() const
void SetCrystal(Short_t crys)
void SetModule(Short_t mod)
void Momentum(TVector3 &mom)
virtual void Print(const Option_t *opt) const
Short_t GetModule() const