]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowTools/glauberMC/AliGlauberNucleus.h
coverity fix (Ruben)
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTools / glauberMC / AliGlauberNucleus.h
1 #ifndef ALIGLAUBERNUCLEUS_H
2 #define ALIGLAUBERNUCLEUS_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////////////////////////////////////
8 //
9 //  AliGlauberNucleus
10 //  support classfor Glauber MC
11 //
12 //  origin: PHOBOS experiment
13 //  alification: Mikolaj Krzewicki, Nikhef, mikolaj.krzewicki@cern.ch
14 //
15 ////////////////////////////////////////////////////////////////////////////////
16
17 //class TNamed;
18 #include <TNamed.h>
19 class TObjArray;
20 class TF1;
21
22 class AliGlauberNucleus : public TNamed {
23 private:
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
33
34    void       Lookup(Option_t* name);
35
36 public:
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);
41
42    using      TObject::Draw;
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.);
56
57    ClassDef(AliGlauberNucleus,1)
58 };
59
60 #endif