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
30 virtual ~AliGlauberNucleon() {}
32 void Collide() {fNColl++;}
33 Int_t GetNColl() const {return fNColl;}
34 Double_t GetX() const {return fX;}
35 Double_t GetY() const {return fY;}
36 Double_t GetZ() const {return fZ;}
37 Bool_t IsInNucleusA() const {return fInNucleusA;}
38 Bool_t IsInNucleusB() const {return !fInNucleusA;}
39 Bool_t IsSpectator() const {return !fNColl;}
40 Bool_t IsWounded() const {return fNColl;}
41 void Reset() {fNColl=0;}
42 void SetInNucleusA() {fInNucleusA=1;}
43 void SetInNucleusB() {fInNucleusA=0;}
44 void SetXYZ(Double_t x, Double_t y, Double_t z) {fX=x; fY=y; fZ=z;}
46 ClassDef(AliGlauberNucleon,1)