X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGenSlowNucleons.h;h=b8cf3e7389f08e712fdc787281c4ac6e8852e814;hb=0cf15e655e6ca9471aca61c1a479b2a44a50a8ac;hp=bec9e8ce4ea55a6dcc9944689c1d37565a587d53;hpb=83b3cd6cc58924ea8486c70fef745bbaae909722;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGenSlowNucleons.h b/EVGEN/AliGenSlowNucleons.h index bec9e8ce4ea..b8cf3e7389f 100644 --- a/EVGEN/AliGenSlowNucleons.h +++ b/EVGEN/AliGenSlowNucleons.h @@ -13,14 +13,14 @@ #include "AliGenerator.h" class AliSlowNucleonModel; class TH2F; - +class TH1F; +class TF1; class AliGenSlowNucleons : public AliGenerator { public: AliGenSlowNucleons(); AliGenSlowNucleons(Int_t npart); - AliGenSlowNucleons(const AliGenSlowNucleons &sn); virtual ~AliGenSlowNucleons(); virtual void Init(); virtual void FinishRun(); @@ -28,6 +28,7 @@ public: virtual void SetPmax(Float_t pmax = 10.) {fPmax = pmax;} virtual void SetNominalCmsEnergy(Float_t energy = 14000.) {fCMS = energy;} virtual void SetTarget(Float_t a=208, Float_t z=82) {fATarget = a; fZTarget = z;} + virtual void SetTarget(TString s, Int_t a, Int_t z) {AliGenerator::SetTarget(s, a, z);} virtual void SetProtonDirection(Float_t dir = 1.); virtual void SetCharge(Int_t c = 1) {fCharge = c;} virtual void SetTemperature(Double_t t1 = 0.04, Double_t t2 = 0.004) @@ -43,13 +44,14 @@ public: virtual void SetDebug(Int_t flag = 0) {fDebug = flag;} virtual void SetNumbersOfSlowNucleons(Int_t ngp, Int_t ngn, Int_t nbp, Int_t nbn) {fNgp = ngp; fNgn = ngn; fNbp = nbp; fNbn = nbn;} + // + // Added by Chiara to take into account angular distribution 4 gray tracks + virtual void SetThetaDist(Int_t flag=0) {fThetaDistribution = flag;} protected: - void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q); + void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q, Float_t &theta); Double_t Maxwell(Double_t m, Double_t p, Double_t t); void Lorentz(Double_t m, Double_t beta, Float_t* q); - void Copy(TObject&) const; - AliGenSlowNucleons & operator=(const AliGenSlowNucleons & rhs); protected: Float_t fCMS; // Center of mass energy Float_t fMomentum; // Target nucleus momentum @@ -70,10 +72,19 @@ public: Int_t fDebug; // Debug flag TH2F* fDebugHist1; // Histogram for debugging TH2F* fDebugHist2; // Histogram for debugging + // Added by Chiara to take into account angular distribution 4 gray tracks + Int_t fThetaDistribution;// 0 -> flat dist., 1 -> fwd. peaked distribution + TH1F* fCosThetaGrayHist; // Histogram for debugging + TF1* fCosTheta; // Function for non-uniform cos(theta) distribution // AliSlowNucleonModel* fSlowNucleonModel; // The slow nucleon model - ClassDef(AliGenSlowNucleons,1) // Slow Nucleon Generator + + private: + AliGenSlowNucleons(const AliGenSlowNucleons &sn); + AliGenSlowNucleons & operator=(const AliGenSlowNucleons & rhs); + + ClassDef(AliGenSlowNucleons,2) // Slow Nucleon Generator }; #endif