X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGenParam.h;h=bbd61cebc653437502af3a4f6ab8b0c4dc80c286;hb=c8617efec3865447fdd6c9c8d10b6bde11ebd292;hp=4b20a2668d021e702ce242b61213c20498ba32b1;hpb=c08d8e3ca825c6138650cf2aac04cc06b0c2a903;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGenParam.h b/EVGEN/AliGenParam.h index 4b20a2668d0..bbd61cebc65 100644 --- a/EVGEN/AliGenParam.h +++ b/EVGEN/AliGenParam.h @@ -47,19 +47,23 @@ public: virtual void SetDeltaPt(Float_t delta=0.01) {fDeltaPt = delta;} virtual void SetDecayer(AliDecayer* decayer) {fDecayer = decayer;} virtual void SetForceGammaConversion(Bool_t force=kTRUE) {fForceConv = force;} + virtual void SetKeepParent(Bool_t keep=kTRUE){fKeepParent= keep;} //Store parent even if it does not have childs within cuts + virtual void SetKeepIfOneChildSelected(Bool_t keep=kTRUE){fKeepIfOneChildSelected = keep;} //Accept parent and child even if other children are not within cut. + virtual void Draw(const char * opt); TF1 * GetPt() { return fPtPara;} TF1 * GetY() {return fYPara;} Float_t GetRelativeArea(Float_t ptMin, Float_t ptMax, Float_t yMin, Float_t yMax, Float_t phiMin, Float_t phiMax); - static double ScreenVar(double Z, double e0, double eps){ return 136/pow(Z,0.333333)*e0/eps/(1-eps); } - static double ScreenFunc1(double d); - static double ScreenFunc2(double d); - static double AuxScreenFunc1(double d, double Fz){ return 3*ScreenFunc1(d)-ScreenFunc2(d)-Fz; } - static double AuxScreenFunc2(double d, double Fz){ return 3*0.5*ScreenFunc1(d)-0.5*ScreenFunc2(d)-Fz; } static TVector3 OrthogonalVector(TVector3 &inVec); - double EnergyFraction(double Z, double E); - double PolarAngle(double E); + static void RotateVector(Double_t *pin, Double_t *pout, Double_t costheta, Double_t sintheta, + Double_t cosphi, Double_t sinphi); + static double ScreenFunction1(double d); + static double ScreenFunction2(double d); + double RandomEnergyFraction(double Z, double E); + double RandomPolarAngle(); + double RandomMass(Double_t mh); + Int_t VirtualGammaPairProduction(TClonesArray *particles, Int_t nPart); Int_t ForceGammaConversion(TClonesArray *particles, Int_t nPart); protected: @@ -81,6 +85,8 @@ protected: Bool_t fSelectAll; // Flag for transportation of Background while using SetForceDecay() AliDecayer *fDecayer; // ! Pointer to pythia object for decays Bool_t fForceConv; // + Bool_t fKeepParent; // Store parent even if it does not have childs within cuts + Bool_t fKeepIfOneChildSelected; //Accept parent and child even if other children are not within cut. private: AliGenParam(const AliGenParam &Param);