]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/Glauber/AliGlauberNucleon.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWG / Glauber / AliGlauberNucleon.h
1 #ifndef ALIGLAUBERNUCLEON_H
2 #define ALIGLAUBERNUCLEON_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 //  AliGlauberNucleon
10 //  support class for Glauber MC
11 //
12 //  origin: PHOBOS experiment
13 //  alification: Mikolaj Krzewicki, Nikhef, mikolaj.krzewicki@cern.ch
14 //
15 ////////////////////////////////////////////////////////////////////////////////
16
17 class TNamed;
18
19 class AliGlauberNucleon : public TNamed {
20   
21 private:
22    Double32_t fX;            //Position of nucleon
23    Double32_t fY;            //Position of nucleon
24    Double32_t fZ;            //Position of nucleon
25    Bool_t     fInNucleusA;   //=1 from nucleus A, =0 from nucleus B
26    Int_t      fNColl;        //Number of binary collisions
27    Double32_t fSigNN;        //Interaction cross section of this Nucleon
28
29 public:
30    AliGlauberNucleon();
31    virtual   ~AliGlauberNucleon() {}
32
33    void       Collide()            {fNColl++;}
34    Int_t      GetNColl()     const {return fNColl;}
35    Double_t   GetSigNN()     const {return fSigNN;}
36    Double_t   GetX()         const {return fX;}
37    Double_t   GetY()         const {return fY;}
38    Double_t   GetZ()         const {return fZ;}
39    Bool_t     IsInNucleusA() const {return fInNucleusA;}
40    Bool_t     IsInNucleusB() const {return !fInNucleusA;}
41    Bool_t     IsSpectator()  const {return !fNColl;}
42    Bool_t     IsWounded()    const {return fNColl;}
43    void       Reset()              {fNColl=0;}
44    void       SetInNucleusA()      {fInNucleusA=1;}
45    void       SetInNucleusB()      {fInNucleusA=0;}
46    void       SetSigNN(Double_t s) {fSigNN=s;}
47    void       SetXYZ(Double_t x, Double_t y, Double_t z) {fX=x; fY=y; fZ=z;}
48
49    ClassDef(AliGlauberNucleon,2)
50 };
51
52 #endif