32 #include <FairDetector.h> 35 #include <TClonesArray.h> 36 #include <TLorentzVector.h> 45 class PndOt :
public FairDetector {
55 PndOt(
const char *name, Bool_t active);
67 virtual Bool_t
ProcessHits(FairVolume *vol = 0)
override;
83 virtual TClonesArray *
GetCollection(Int_t iColl)
const override;
89 virtual void Print(Option_t * =
"")
const override;
95 virtual void Reset()
override;
106 virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
override;
120 TLorentzVector fPosIn;
121 TLorentzVector fPosOut;
122 TLorentzVector fPosInLocal;
123 TLorentzVector fPosOutLocal;
124 TLorentzVector fMomIn;
125 TLorentzVector fMomOut;
130 Bool_t fIsInitialized;
133 TClonesArray *fOtCollection;
134 TLorentzVector fpostot;
135 TLorentzVector fpostotin;
136 TLorentzVector fpostotout;
138 TObjArray *fPassNodes;
149 PndOtPoint *AddHit(Int_t trackID, Int_t detID, Int_t tubeID, Int_t chamberID, Int_t layerID, TVector3 pos, TVector3 posInLocal, TVector3 posOutLocal, TVector3 momIn,
150 TVector3 momOut, Double_t time, Double_t length, Double_t eLoss, Double_t mass);
152 std::string GetStringPart(std::string &aSrc, Int_t part,
char aDelim);
153 bool Split(std::string &aDest, std::string &aSrc,
char aDelim);
159 void ResetParameters();
166 float GetSquaredDistanceFromWire();
169 PndOt &operator=(
const PndOt &) {
return *
this; }
174 inline void PndOt::ResetParameters()
176 fTrackID = fVolumeID = 0;
177 fPos.SetXYZM(0.0, 0.0, 0.0, 0.0);
178 fPosInLocal.SetXYZM(0.0, 0.0, 0.0, 0.0);
179 fPosOutLocal.SetXYZM(0.0, 0.0, 0.0, 0.0);
180 fMomIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
181 fMomOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
182 fTime = fLength = fELoss = 0;
184 fpostot.SetXYZM(0.0, 0.0, 0.0, 0.0);
185 fpostotin.SetXYZM(0.0, 0.0, 0.0, 0.0);
186 fpostotout.SetXYZM(0.0, 0.0, 0.0, 0.0);
187 fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
188 fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
190 fIsInitialized = kFALSE;
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset) override
virtual void Register() override
virtual void ConstructGeometry() override
virtual void Reset() override
virtual void Print(Option_t *="") const override
virtual Bool_t ProcessHits(FairVolume *vol=0) override
virtual TClonesArray * GetCollection(Int_t iColl) const override
virtual void EndOfEvent() override
virtual void Initialize() override