1 #ifndef ALIGLAUBERNUCLEON_H
2 #define ALIGLAUBERNUCLEON_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////////////
10 // support class for Glauber MC
12 // origin: PHOBOS experiment
13 // alification: Mikolaj Krzewicki, Nikhef, mikolaj.krzewicki@cern.ch
15 ////////////////////////////////////////////////////////////////////////////////
19 class AliGlauberNucleon : public TNamed {
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
31 virtual ~AliGlauberNucleon() {}
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;}
49 ClassDef(AliGlauberNucleon,2)