39 #ifndef __StFastGlauberMcMaker_h__
40 #define __StFastGlauberMcMaker_h__
73 const TString outputFileName,
75 const Double_t energy,
77 const Bool_t isDeformed = kFALSE
82 const TString outputFileName,
83 const UInt_t massNumber,
84 const Double_t radius,
85 const Double_t skinDepth,
88 const Double_t inelasticCrossSection,
94 const TString outputFileName,
95 const UInt_t massNumberA,
96 const Double_t radiusA,
97 const Double_t skinDepthA,
98 const Double_t beta2A,
99 const Double_t beta4A,
100 const UInt_t massNumberB,
101 const Double_t radiusB,
102 const Double_t skinDepthB,
103 const Double_t beta2B,
104 const Double_t beta4B,
105 const Double_t inelasticCrossSection,
106 const Double_t energy
115 Int_t
Run(
const UInt_t nevents) ;
130 void Print(
const TString option=
"")
const ;
144 const UInt_t massNumberA,
145 const Double_t radiusA,
146 const Double_t skinDepthA,
147 const Double_t beta2A,
148 const Double_t beta4A,
149 const UInt_t massNumberB,
150 const Double_t radiusB,
151 const Double_t skinDepthB,
152 const Double_t beta2B,
153 const Double_t beta4B,
154 const TString type =
"default"
158 Int_t InitAuAu(
const TString type) ;
159 Int_t InitSmSm(
const TString type) ;
160 Int_t InitUU(
const TString type) ;
161 Int_t InitPbPb(
const TString type) ;
162 Int_t InitCuCu(
const TString type) ;
163 Int_t InitZrZr(
const TString type,
int Case) ;
164 Int_t InitRuRu(
const TString type,
int Case) ;
170 const Char_t* GetName(
const UInt_t massNumber)
const ;
171 Double_t GetInelasticNNCrossSection(
const Double_t energy,
const TString type)
const ;
172 void GetRThetaPhi(
const UInt_t inucleus,
173 Double_t& r, Double_t& theta, Double_t& phi)
const ;
176 void Smearing(Double_t& r, Double_t& theta, Double_t& phi)
const ;
188 TGraph* GetParticipantEccentricity(
const Double_t order,
const Double_t sumx,
const Double_t sumy,
189 const Double_t sumw,
const UInt_t weightId)
const ;
196 mkHardCoreProfile = 0,
197 mkGaussianProfile = 1
201 static const UInt_t mVersion ;
203 const Double_t mEnergy ;
204 const TString mOutputFileName ;
205 Double_t mInelasticNNCrossSection ;
210 Double_t mRepulsionDistance ;
214 Bool_t mHardCoreSmearing ;
215 Bool_t mGaussianSmearing ;
217 UInt_t mCollisionProfile ;
221 Bool_t mIsDeformed[2] ;
224 std::vector<Nucleon*> mNucleons[2] ;
225 TF1* mfWoodsSaxon[2] ;
226 TF2* mfWoodsSaxon2D[2] ;
228 UInt_t mNeventsThrow ;
229 UInt_t mNeventsAccept ;
236 TH1* mhWoodsSaxon[4] ;
Int_t Finish()
Run Make() by nevents.
void DoGaussianCollision()
Hard-core collision (default)
StFastGlauberMcMaker()
Current version.
void Print(const TString option="") const
Gaussion profile collision.
void SetRepulsionDistance(const Double_t repulsionDistance)
Default destructor.
void DoHardCoreCollision()
Default is OFF.
void DoGaussianSmearing()
Default is OFF.
virtual ~StFastGlauberMcMaker()
Default constructor.
void DoHardCoreSmearing()
Finish maker.
UInt_t Version() const
Debug Mode ON.
Int_t Run(const UInt_t nevents)
Make one event.