ROOT logo
AliRoot » EVGEN » AliGenSlowNucleons

class AliGenSlowNucleons: public AliGenerator

Function Members (Methods)

public:
AliGenSlowNucleons()
AliGenSlowNucleons(Int_t npart)
virtual~AliGenSlowNucleons()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliGenerator::AddHeader(AliGenEventHeader*)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual AliCollisionGeometry*AliGenerator::CollisionGeometry() const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidFinishRun()
virtual voidGenerate()
virtual voidAliGenerator::GenerateN(Int_t ntimes)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_tAliGenerator::GetEnergyCMS() const
virtual const char*TObject::GetIconName() const
virtual TGenerator*AliGenerator::GetMC() const
virtual const char*TNamed::GetName() const
virtual Int_tGetNBlackNeutrons()
virtual Int_tGetNBlackProtons()
virtual Int_tGetNGrayNeutrons()
virtual Int_tGetNGrayProtons()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidAliGenerator::GetOrigin(TLorentzVector& o) const
virtual voidAliGenerator::GetOrigin(Float_t& ox, Float_t& oy, Float_t& oz) const
virtual voidAliGenerator::GetProjectile(TString& tar, Int_t& a, Int_t& z) const
virtual TRandom*AliRndm::GetRandom() const
AliStack*AliGenerator::GetStack()
virtual voidAliGenerator::GetTarget(TString& tar, Int_t& a, Int_t& z) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tNeedsCollisionGeometry() const
virtual Bool_tTObject::Notify()
virtual Int_tAliGenerator::NumberParticles() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Bool_tAliGenerator::ProvidesCollisionGeometry() const
virtual Int_tTObject::Read(const char* name)
virtual voidAliRndm::ReadRandom(const char* filename)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual Float_tAliRndm::Rndm() const
virtual voidAliRndm::Rndm(Float_t* array, Int_t size) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliGenerator::SetAnalog(Int_t flag = 1)
virtual voidSetBeamCrossingAngle(Float_t crossAngle)
virtual voidSetBeamDivergence(Float_t divergence)
virtual voidSetBetaSource(Double_t b1 = 0.05, Double_t b2 = 0.)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetCharge(Int_t c = 1)
virtual voidAliGenerator::SetChildWeight(Float_t wgt)
virtual voidSetCollisionGeometry(AliCollisionGeometry* geom)
virtual voidAliGenerator::SetContainer(AliGenerator* container)
virtual voidAliGenerator::SetCutVertexZ(Float_t cut = 999999.)
virtual voidSetDebug(Int_t flag = 0)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliGenerator::SetEnergyCMS(Float_t energy = 0)
virtual voidAliGenerator::SetEventPlane(Float_t evPlane)
virtual voidAliGenerator::SetMC(TGenerator* theMC)
virtual voidSetModelSmear(Int_t imode)
virtual voidAliGenerator::SetMomentumRange(Float_t pmin = 0, Float_t pmax = 1.e10)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidSetNominalCmsEnergy(Float_t energy = 14000.)
virtual voidAliGenerator::SetNumberParticles(Int_t npart = 100)
virtual voidSetNumbersOfSlowNucleons(Int_t ngp, Int_t ngn, Int_t nbp, Int_t nbn)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidAliGenerator::SetOrigin(const TLorentzVector& o)
virtual voidAliGenerator::SetOrigin(Float_t ox, Float_t oy, Float_t oz)
virtual voidAliGenerator::SetParentWeight(Float_t wgt)
virtual voidAliGenerator::SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
voidAliGenerator::SetPileUpTimeWindow(Float_t pileUpTimeW)
virtual voidSetPmax(Float_t pmax = 10.)
virtual voidAliGenerator::SetProjectile(TString proj = "", Int_t a = 0, Int_t z = 0)
virtual voidSetProtonDirection(Float_t dir = 1.)
virtual voidAliGenerator::SetPtRange(Float_t ptmin = 0, Float_t ptmax = 1.e10)
virtual voidAliRndm::SetRandom(TRandom* ran = 0)
virtual voidAliGenerator::SetSigma(Float_t sx, Float_t sy, Float_t sz)
virtual voidAliGenerator::SetSigmaZ(Float_t sz)
virtual voidSetSlowNucleonModel(AliSlowNucleonModel* model)
voidAliGenerator::SetStack(AliStack* stack)
virtual voidSetTarget(Int_t a = 208, Int_t z = 82)
virtual voidSetTarget(TString s, Int_t a, Int_t z)
virtual voidSetTemperature(Double_t t1 = 0.04, Double_t t2 = 0.004)
virtual voidSetThetaDist(Int_t flag = 0)
virtual voidAliGenerator::SetThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
virtual voidAliGenerator::SetTime(Float_t time)
virtual voidAliGenerator::SetTimeOrigin(Float_t timeorig)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidAliGenerator::SetTrackingFlag(Int_t flag = 1)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliGenerator::SetVertex(Float_t vx, Float_t vy, Float_t vz, Float_t t = 0)
voidAliGenerator::SetVertexGenerator(AliVertexGenerator* vertexGenerator)
virtual voidAliGenerator::SetVertexSmear(VertexSmear_t smear)
virtual voidAliGenerator::SetVertexSource(VertexSource_t source = kInternal)
virtual voidAliGenerator::SetVRange(Float_t vxmin, Float_t vxmax, Float_t vymin, Float_t vymax, Float_t vzmin, Float_t vzmax)
virtual voidAliGenerator::SetYRange(Float_t ymin = -100, Float_t ymax = 100)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
voidAliGenerator::Vertex()
voidAliGenerator::VertexExternal()
virtual voidAliGenerator::VertexInternal()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidAliRndm::WriteRandom(const char* filename) const
protected:
voidAddAngle(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t* angle)
voidBeamCrossDivergence(Int_t iwhat, Float_t* pLab)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidGenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q, Float_t& theta)
virtual voidAliGenerator::KeepTrack(Int_t itrack)
voidLorentz(Double_t m, Double_t beta, Float_t* q)
voidTObject::MakeZombie()
Double_tMaxwell(Double_t m, Double_t p, Double_t t)
virtual voidAliGenerator::PushTrack(Int_t done, Int_t parent, Int_t pdg, Float_t* pmom, Float_t* vpos, Float_t* polar, Float_t tof, TMCProcess mech, Int_t& ntr, Float_t weight = 1, Int_t is = 0)
virtual voidAliGenerator::PushTrack(Int_t done, Int_t parent, Int_t pdg, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t tof, Double_t polx, Double_t poly, Double_t polz, TMCProcess mech, Int_t& ntr, Float_t weight = 1, Int_t is = 0)
virtual voidAliGenerator::SetHighWaterMark(Int_t nt)
voidSetProcessID(Int_t nt, UInt_t process)

Data Members

public:
enum { kGrayProcess
kBlackProcess
};
enum AliGenerator::[unnamed] { kThetaRange
kVertexRange
kPhiRange
kPtRange
kYRange
kMomentumRange
kEtaRange
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tAliGenerator::fAProjectileProjectile A
Int_tAliGenerator::fATargetTarget A
Int_tAliGenerator::fAnalogFlag for anolog or pt-weighted generation
Float_tfBeamCrossingAnglebeam crossing angle (in radians)
Float_tfBeamDivEventbeam divergence (in radians)
Float_tfBeamDivergencebeam divergence (in radians)
Double_tfBetaTarget nucleus beta
Float_tfBetaSourceBSource beta for black nucleons
Float_tfBetaSourceGSource beta for gray nucleons
Float_tfCMSCenter of mass energy
Int_tfChargeSlow nucleon charge
Float_tAliGenerator::fChildWeightChildWeight
AliCollisionGeometry*AliGenerator::fCollisionGeometry!Collision geometry
AliGenerator*AliGenerator::fContainer! Local pointer to container
TF1*fCosThetaFunction for non-uniform cos(theta) distribution
TH1F*fCosThetaGrayHistHistogram for debugging
Float_tAliGenerator::fCutVertexZVertex cut in units of sigma_z
Int_tfDebugDebug flag
TH2F*fDebugHist1Histogram for debugging
TH2F*fDebugHist2Histogram for debugging
Float_tAliGenerator::fEnergyCMSCentre of mass energy
Float_tAliGenerator::fEvPlanethe event plane
TGenerator*AliGenerator::fMCEvGen!Pointer to the generator
Double_tfMomentumTarget nucleus momentum
TStringTNamed::fNameobject identifier
Int_tfNbnNumber of black neutrons
Int_tfNbpNumber of black protons
Int_tfNgnNumber of gray neutrons
Int_tfNgpNumber of gray protons
Int_tAliGenerator::fNpartMaximum number of particles per event
TArrayFAliGenerator::fOriginOrigin of event
TArrayFAliGenerator::fOsigmaSigma of the Origin of event
Float_tAliGenerator::fPMaxMinimum momentum of generation in GeV/c
Float_tAliGenerator::fPMinMinimum momentum of generation in GeV/c
Float_tAliGenerator::fParentWeightParent Weight
Float_tAliGenerator::fPhiMaxMaximum phi of generation in radians
Float_tAliGenerator::fPhiMinMinimum phi of generation in radians
Float_tAliGenerator::fPileUpTimeWindowTime window for pile-up events
Float_tfPmaxMaximum slow nucleon momentum
TStringAliGenerator::fProjectileProjectile
Float_tfProtonDirectionDirection of the proton
Float_tAliGenerator::fPtMaxMaximum transverse momentum
Float_tAliGenerator::fPtMinMinimum transverse momentum
TRandom*AliRndm::fRandom! Pointer to the random number generator
AliSlowNucleonModel*fSlowNucleonModelThe slow nucleon model
Int_tfSmearMode0=Skler (no smear), =1 smearing Ncoll, =2 smearing Nslow
AliStack*AliGenerator::fStack! Local pointer to stack
TStringAliGenerator::fTargetTarget
Float_tfTemperatureBSource Temperature for black nucleons
Float_tfTemperatureGSource Temperature for gray nucleons
Int_tfThetaDistribution0 -> flat dist., 1 -> fwd. peaked distribution
Float_tAliGenerator::fThetaMaxMaximum theta of generation in radians
Float_tAliGenerator::fThetaMinMinimum theta of generation in radians
Float_tAliGenerator::fTimeEvent time smeared around time0 origin using sigma vertex
Float_tAliGenerator::fTimeOriginTime0 origin in a run or event sample
TStringTNamed::fTitleobject title
Int_tAliGenerator::fTrackItif 1, Track final state particles
TArrayFAliGenerator::fVMaxMinimum Decaylength
TArrayFAliGenerator::fVMinMinimum Decaylength
TArrayFAliGenerator::fVertex! Vertex of current event
AliVertexGenerator*AliGenerator::fVertexGenerator! Generator for the vertex
VertexSmear_tAliGenerator::fVertexSmearVertex Smearing mode
VertexSource_tAliGenerator::fVertexSourceVertex source (internal/external)
Float_tAliGenerator::fYMaxMaximum rapidity
Float_tAliGenerator::fYMinMinimum rapidity
Int_tAliGenerator::fZProjectileProjectile Z
Int_tAliGenerator::fZTargetTarget Z

Class Charts

Inheritance Chart:
TNamed
AliRndm
AliGenerator
AliGenSlowNucleons

Function documentation

AliGenSlowNucleons()
 Default constructor
AliGenSlowNucleons(Int_t npart)
 Constructor
~AliGenSlowNucleons()
 Destructor
void SetProtonDirection(Float_t dir = 1.)
 Set direction of the proton to change between pA (1) and Ap (-1)
void Init()
 Initialization

void FinishRun()
 End of run action
 Show histogram for debugging if requested.
void Generate()
 Generate one event


 Communication with Gray Particle Model

void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q, Float_t& theta)
   Emit a slow nucleon with "temperature" T [GeV],
   from a source moving with velocity beta
   Three-momentum [GeV/c] is given back in q[3]

Double_t Maxwell(Double_t m, Double_t p, Double_t t)
Relativistic Maxwell-distribution
void Lorentz(Double_t m, Double_t beta, Float_t* q)
Lorentz transform in the direction of q[2]
void BeamCrossDivergence(Int_t iwhat, Float_t* pLab)
 Applying beam divergence and crossing angle

void AddAngle(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t* angle)
 Calculating the sum of 2 angles
void SetProcessID(Int_t nt, UInt_t process)
 Tag the particle as
 gray or black
AliGenSlowNucleons()
void SetPmax(Float_t pmax = 10.)
{fPmax = pmax;}
void SetNominalCmsEnergy(Float_t energy = 14000.)
{fCMS = energy;}
void SetTarget(Int_t a = 208, Int_t z = 82)
{fATarget = a; fZTarget = z;}
void SetTarget(TString s, Int_t a, Int_t z)
{AliGenerator::SetTarget(s, a, z);}
void SetCharge(Int_t c = 1)
{fCharge = c;}
void SetTemperature(Double_t t1 = 0.04, Double_t t2 = 0.004)
void SetBetaSource(Double_t b1 = 0.05, Double_t b2 = 0.)
void SetSlowNucleonModel(AliSlowNucleonModel* model)
Bool_t NeedsCollisionGeometry() const
{return kTRUE;}
void SetCollisionGeometry(AliCollisionGeometry* geom)
{fCollisionGeometry = geom;}
void SetDebug(Int_t flag = 0)
{fDebug = flag;}
void SetNumbersOfSlowNucleons(Int_t ngp, Int_t ngn, Int_t nbp, Int_t nbn)
 Added by Chiara to take into account angular distribution 4 gray tracks
{fNgp = ngp; fNgn = ngn; fNbp = nbp; fNbn = nbn;}
void SetThetaDist(Int_t flag = 0)
void SetBeamCrossingAngle(Float_t crossAngle)
{fBeamCrossingAngle = crossAngle;}
void SetBeamDivergence(Float_t divergence)
{fBeamDivergence = divergence;}
Int_t GetNGrayProtons()
{return fNgp;}
Int_t GetNGrayNeutrons()
{return fNgn;}
Int_t GetNBlackProtons()
{return fNbp;}
Int_t GetNBlackNeutrons()
{return fNbn;}
void SetModelSmear(Int_t imode)
{fSmearMode=imode;}
AliGenSlowNucleons & operator=(const AliGenSlowNucleons& rhs)