40 fThetaMax ( TMath::Pi()),
42 fPhiMax ( TMath::TwoPi()),
59 fTrackCollection(new TClonesArray(
"TGeoTrack")),
63 Fatal(
"FairTrajFilter",
"Singleton class already exists.");
116 Double_t rapidity = 0.5*TMath::Log( (p->Energy()+p->Pz()) /
117 (p->Energy()-p->Pz()) );
130 if(-1 == p->GetFirstMother()) {
146 Double_t vxMax, Double_t vyMax, Double_t vzMax)
148 if( (vxMax<vxMin) || (vyMax<vyMin) || (vzMax<vzMin) ||
149 (TMath::Abs(vxMin)>2000.) || (TMath::Abs(vxMax)>2000.) ||
150 (TMath::Abs(vyMin)>2000.) || (TMath::Abs(vyMax)>2000.) ||
151 (TMath::Abs(vzMin)>2000.) || (TMath::Abs(vzMax)>2000.) ) {
152 cout <<
"-E- FairTrajFilter::SetVertexCut() : invalid region, ignoring." << endl;
166 Double_t pMax, Double_t thetaMax, Double_t phiMax)
168 if( (pMax<pMin) || (thetaMax<thetaMin) || (phiMax<phiMin) ||
169 (pMin<0.) || (pMax<0.) || (thetaMin<0.) || (thetaMax>TMath::Pi()) ||
170 (phiMin<0.) || (phiMax>TMath::TwoPi()) ) {
171 cout <<
"-E- FairTrajFilter::SetMomentumCutP() : invalid region, ignoring." << endl;
186 Double_t pxMax, Double_t pyMax, Double_t pzMax)
188 if( (pxMax<pxMin) || (pyMax<pyMin) || (pzMax<pzMin) ) {
189 cout <<
"-E- FairTrajFilter::SetMomentumCutD() : invalid region, ignoring." << endl;
204 Double_t rapidityMin, Double_t rapidityMax)
206 if( (ptMax<ptMin) || (rapidityMax<rapidityMin) ||
207 (ptMin<0.) || (ptMax<0.) ) {
208 cout <<
"-E- FairTrajFilter::SetPtRapidityCut() : invalid region, ignoring." << endl;
222 if( (etotMax<etotMin) || (etotMin<0.) || (etotMax<0.) ) {
223 cout <<
"-E- FairTrajFilter::SetEnergyCut() : invalid region, ignoring." << endl;
234 if(stepSizeMin < 0.) {
235 cout <<
"-E- FairTrajFilter::SetStepSizeCut() : invalid value, ignoring." << endl;
244 Double_t& vxMax, Double_t& vyMax, Double_t& vzMax)
const
256 Double_t& pMax, Double_t& thetaMax, Double_t& phiMax)
const
268 Double_t& pxMax, Double_t& pyMax, Double_t& pzMax)
const
280 Double_t& rapidityMin, Double_t& rapidityMax)
const
301 Int_t tsize = clref.GetEntriesFast();
302 fCurrentTrk =
new(clref[tsize]) TGeoTrack(trackId,pdgCode);
312 Int_t pdgCode = p->GetPdgCode();
314 Int_t tsize = clref.GetEntriesFast();
315 fCurrentTrk =
new(clref[tsize]) TGeoTrack(++trackId,pdgCode,0,p);