11 #include "TLorentzVector.h" 12 #include "FairMCPoint.h" 39 PndEmcPoint(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,
40 Short_t copy, Bool_t entering = kFALSE, Bool_t exiting = kFALSE,
int clusteID = -1);
49 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(); };
50 Double_t
GetPhi()
const {
return fX == 0.0 && fY == 0.0 ? 0.0 :
TMath::ATan2(fY, fX) * TMath::RadToDeg(); };
54 Short_t
GetModule()
const {
return (fDetectorID / 100000000); };
55 Short_t
GetRow()
const {
return ((fDetectorID / 1000000) % 100); };
56 Short_t
GetCrystal()
const {
return (fDetectorID % 10000); };
57 Short_t
GetCopy()
const {
return ((fDetectorID / 10000) % 100); };
68 FairMCPoint::SetTrackID(trackId);
69 SetLink(FairLink(
"MCTrack", trackId));
75 virtual void Print(
const Option_t *opt =
"")
const;
represents a mc hit in an emc crystal
void SetClusterID(int clusterID)
Double_t GetTheta() const
friend F32vec4 sqrt(const F32vec4 &a)
Bool_t GetEntering() const
Bool_t GetExiting() const
Short_t GetModule() const
static T ATan2(const T &y, const T &x)
void SetModule(Short_t mod)
Int_t GetClusterID() const
Short_t GetCrystal() const
void SetCrystal(Short_t crys)
virtual void Print(const Option_t *opt="") const
void SetTrackID(Int_t trackId)