/*
$Log$
+Revision 1.2 2002/10/14 14:55:35 hristov
+Merging the VirtualMC branch to the main development branch (HEAD)
+
Revision 1.1.2.1 2002/10/10 16:40:08 hristov
Updating VirtualMC to v3-09-02
SetPmax();
SetTarget();
SetNominalCmsEnergy();
+ SetCharge();
SetTemperature();
+ SetBetaSource();
}
//____________________________________________________________
Float_t polar [3] = {0., 0., 0.};
Int_t nt, i;
for(i = 0;i < fNpart; i++) {
- Int_t kf = kProton;
- GenerateSlow(1, fTemperature, 0., p);
+ Int_t kf;
+ if(fCharge==1) kf = kProton;
+ else kf = kNeutron;
+ GenerateSlow(fCharge, fTemperature, fBetaSource, p);
SetTrack(fTrackIt, -1, kf, p, origin, polar,
0., kPNoProcess, nt, 1.);
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 SetCharge(Int_t c = 1) {fCharge = c;}
virtual void SetTemperature(Double_t t = 0.05) {fTemperature = t;}
+ virtual void SetBetaSource(Double_t b = 0.05) {fBetaSource = b;}
protected:
void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q);
Float_t fPmax; // Maximum slow nucleon momentum
Float_t fATarget; // Target nucleus mass number
Float_t fZTarget; // Target nucleus charge number
+ Int_t fCharge; // Slow nucleon charge
Float_t fTemperature; // Source Temperature
+ Float_t fBetaSource; // Source beta
ClassDef(AliGenGrayParticles,1) // Gray Particle Generator
};
#endif