17 #ifndef PND_BOXGENERATOR_H 18 #define PND_BOXGENERATOR_H 23 class FairPrimaryGenerator;
44 void SetPRange(Double32_t pmin = 0, Double32_t pmax = 10)
51 void SetPtRange(Double32_t ptmin = 0, Double32_t ptmax = 10)
55 fPtRangeIsSet = kTRUE;
58 void SetPhiRange(Double32_t phimin = 0, Double32_t phimax = 360)
64 void SetEtaRange(Double32_t etamin = -5, Double32_t etamax = 7)
68 fEtaRangeIsSet = kTRUE;
71 void SetYRange(Double32_t ymin = -5, Double32_t ymax = 7)
82 fThetaRangeIsSet = kTRUE;
89 void SetXYZ(Double32_t x = 0, Double32_t y = 0, Double32_t z = 0)
94 fPointVtxIsSet = kTRUE;
97 void SetBoxXYZ(Double32_t x1 = 0, Double32_t y1 = 0, Double32_t x2 = 0, Double32_t y2 = 0, Double32_t z = 0)
104 fBoxVtxIsSet = kTRUE;
107 void SetDebug(Bool_t debug = 0) { fDebug = debug; }
115 virtual Bool_t
ReadEvent(FairPrimaryGenerator *primGen);
119 out <<
"BoxGenerator settings:" << std::endl;
120 out << gen.fMult <<
" * " << gen.fPDGType << std::endl;
121 if (gen.fPRangeIsSet) out <<
"P Range: " << gen.fPMin <<
" < " << gen.fPMax << std::endl;
122 if (gen.fPtRangeIsSet) out <<
"Pt Range: " << gen.fPtMin <<
" < " << gen.fPtMax << std::endl;
123 if (gen.fInversePIsSet) out <<
"InverseP is set" << std::endl;
124 if (gen.fThetaRangeIsSet) out <<
"Theta Range: " << gen.fThetaMin <<
" < " << gen.fThetaMax << std::endl;
125 if (gen.fCosThetaIsSet) out <<
"CosTheta is set" << std::endl;
126 if (gen.fEtaRangeIsSet) out <<
"Eta Range: " << gen.fEtaMin <<
" < " << gen.fEtaMax << std::endl;
127 if (gen.fYRangeIsSet) out <<
"Y Range: " << gen.fYMin <<
" < " << gen.fYMax << std::endl;
128 out <<
"Phi Range: " << gen.fPhiMin <<
" < " << gen.fPhiMax << std::endl;
129 if (gen.fPointVtxIsSet) out <<
"Point Vertex: " << gen.fX <<
"/" << gen.fY <<
"/" << gen.fZ << std::endl;
130 if (gen.fBoxVtxIsSet) out <<
"Box Vertex: p1: " << gen.fX1 <<
"/" << gen.fY1 <<
" p2: " << gen.fX2 <<
"/" << gen.fY2 <<
" z " << gen.fZ << std::endl;
141 Double32_t fPtMin, fPtMax;
142 Double32_t fPhiMin, fPhiMax;
143 Double32_t fEtaMin, fEtaMax;
144 Double32_t fYMin, fYMax;
145 Double32_t fPMin, fPMax;
146 Double32_t fThetaMin, fThetaMax;
147 Double32_t fX, fY, fZ;
148 Double32_t fX1, fY1, fX2, fY2;
150 Bool_t fEtaRangeIsSet;
152 Bool_t fThetaRangeIsSet;
153 Bool_t fCosThetaIsSet;
154 Bool_t fInversePIsSet;
155 Bool_t fPtRangeIsSet;
157 Bool_t fPointVtxIsSet;
void SetPDGType(Int_t pdg)
void SetThetaRange(Double32_t thetamin=0, Double32_t thetamax=90)
void SetBoxXYZ(Double32_t x1=0, Double32_t y1=0, Double32_t x2=0, Double32_t y2=0, Double32_t z=0)
void SetYRange(Double32_t ymin=-5, Double32_t ymax=7)
void SetXYZ(Double32_t x=0, Double32_t y=0, Double32_t z=0)
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
void SetEtaRange(Double32_t etamin=-5, Double32_t etamax=7)
void SetPtRange(Double32_t ptmin=0, Double32_t ptmax=10)
void SetMultiplicity(Int_t mult)
void SetDebug(Bool_t debug=0)
friend std::ostream & operator<<(std::ostream &out, PndBoxGenerator &gen)
void SetPRange(Double32_t pmin=0, Double32_t pmax=10)
virtual ~PndBoxGenerator()
void SetPhiRange(Double32_t phimin=0, Double32_t phimax=360)