public:
AliGenSlowNucleons();
AliGenSlowNucleons(Int_t npart);
- AliGenSlowNucleons(const AliGenSlowNucleons &sn);
virtual ~AliGenSlowNucleons();
virtual void Init();
virtual void FinishRun();
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)
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
//
AliSlowNucleonModel* fSlowNucleonModel; // The slow nucleon model
+
+ private:
+ AliGenSlowNucleons(const AliGenSlowNucleons &sn);
+ AliGenSlowNucleons & operator=(const AliGenSlowNucleons & rhs);
+
ClassDef(AliGenSlowNucleons,2) // Slow Nucleon Generator
};
#endif