1 #ifndef ALIGLAUBERNUCLEUS_H
2 #define ALIGLAUBERNUCLEUS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////////////
10 // support classfor Glauber MC
12 // origin: PHOBOS experiment
13 // alification: Mikolaj Krzewicki, Nikhef, mikolaj.krzewicki@cern.ch
15 ////////////////////////////////////////////////////////////////////////////////
22 class AliGlauberNucleus : public TNamed {
24 Int_t fN; //Number of nucleons
25 Double_t fR; //Parameters of function
26 Double_t fA; //Parameters of function
27 Double_t fW; //Parameters of function
28 Double_t fMinDist; //Minimum separation distance
29 Int_t fF; //Type of radial distribution
30 Int_t fTrials; //Store trials needed to complete nucleus
31 TF1* fFunction; //Probability density function rho(r)
32 TObjArray* fNucleons; //Array of nucleons
34 void Lookup(Option_t* name);
37 AliGlauberNucleus(Option_t* iname="Au", Int_t iN=0, Double_t iR=0, Double_t ia=0, Double_t iw=0, TF1* ifunc=0);
38 virtual ~AliGlauberNucleus();
39 AliGlauberNucleus(const AliGlauberNucleus& in);
40 AliGlauberNucleus& operator=(const AliGlauberNucleus& in);
43 void Draw(Double_t xs, Int_t col);
44 Int_t GetN() const {return fN;}
45 Double_t GetR() const {return fR;}
46 Double_t GetA() const {return fA;}
47 Double_t GetW() const {return fW;}
48 TObjArray *GetNucleons() const {return fNucleons;}
49 Int_t GetTrials() const {return fTrials;}
50 void SetN(Int_t in) {fN=in;}
51 void SetR(Double_t ir);
52 void SetA(Double_t ia);
53 void SetW(Double_t iw);
54 void SetMinDist(Double_t min) {fMinDist=min;}
55 void ThrowNucleons(Double_t xshift=0.);
57 ClassDef(AliGlauberNucleus,1)