1 #ifndef _ALIGENDEUTERON_H_
\r
2 #define _ALIGENDEUTERON_H_
\r
4 /* Copyright(c) 2009-2010, ALICE Experiment at CERN, All rights reserved. *
\r
5 * See cxx source for full Copyright notice */
\r
7 // Afterburner to simulate coalescence of nucleons
\r
8 // Author: Eulogio Serradilla <eulogio.serradilla@ciemat.es>
\r
9 // Arturo Menchaca <menchaca@fisica.unam.mx>
\r
11 #include "AliGenerator.h"
\r
13 class AliGenDeuteron: public AliGenerator
\r
18 AliGenDeuteron(Int_t sign=1, Double_t pmax=0.3, Double_t rmax=2.1, Double_t rsrc=1.5, Int_t model=1);
\r
19 virtual ~AliGenDeuteron();
\r
21 virtual void Init();
\r
22 virtual void Generate();
\r
24 Double_t GetCoalescenceDistance() const { return fRmax*1.e+13; }
\r
25 Double_t GetCoalescenceMomentum() const { return fPmax; }
\r
26 Double_t GetSourceRadius() const { return fRsrc*1.e+13; }
\r
27 Double_t GetSpinProbability() const { return fSpinProb; }
\r
28 Int_t GetFreezeOutModel() const { return fModel; }
\r
29 Int_t GetSign() const { return fSign;}
\r
31 void SetCoalescenceDistance(Double_t r=2.1) { fRmax = r*1.e-13; }
\r
32 void SetCoalescenceMomentum(Double_t p=0.3) { fPmax = p; }
\r
33 void SetSourceRadius(Double_t r=1.5) { fRsrc = r*1.e-13; }
\r
34 void SetSpinProbability(Double_t s=0.75) { fSpinProb = s; }
\r
35 void SetFreezeOutModel(Int_t model = kThermal) { fModel = model; }
\r
36 void SetSign(Int_t sign) { fSign = sign > 0 ? 1 : -1;}
\r
39 enum { kExpansion, kThermal };
\r
43 AliGenDeuteron(const AliGenDeuteron &other);
\r
44 AliGenDeuteron& operator=(const AliGenDeuteron &other);
\r
46 void FixProductionVertex(class TParticle* i);
\r
50 const Double_t fDeuteronMass;
\r
51 Double_t fPmax; // Maximum p-n momentum difference (GeV/c)
\r
52 Double_t fRmax; // Maximum p-n distance (cm)
\r
53 Double_t fRsrc; // Emitting source radius (cm)
\r
54 Double_t fSpinProb; // cluster formation probability due to spin
\r
55 Int_t fModel; // How to place the nucleons at freeze-out stage
\r
56 Int_t fSign; // +1 for deuteron, -1 for antideuterons
\r
58 ClassDef(AliGenDeuteron,1)
\r
61 #endif // _ALIGENDEUTERON_H_
\r