ROOT logo
AliRoot » STEER » STEER » AliGenerator

class AliGenerator: public TNamed, public AliRndm

    Generate the final state of the interaction as the input
    to the MonteCarlo
    Author: A.Morsch


/*

The responsible person for this module is Andreas Morsch.

*/


Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliGenerator()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddHeader(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*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 voidGenerateN(Int_t ntimes)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_tGetEnergyCMS() const
virtual const char*TObject::GetIconName() const
virtual TGenerator*GetMC() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidGetOrigin(TLorentzVector& o) const
virtual voidGetOrigin(Float_t& ox, Float_t& oy, Float_t& oz) const
virtual voidGetProjectile(TString& tar, Int_t& a, Int_t& z) const
virtual TRandom*AliRndm::GetRandom() const
AliStack*GetStack()
virtual voidGetTarget(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_tNumberParticles() 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_tProvidesCollisionGeometry() 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 voidSetAnalog(Int_t flag = 1)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetChildWeight(Float_t wgt)
virtual voidSetCollisionGeometry(AliCollisionGeometry* geom)
virtual voidSetContainer(AliGenerator* container)
virtual voidSetCutVertexZ(Float_t cut = 999999.)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEnergyCMS(Float_t energy = 0)
virtual voidSetEventPlane(Float_t evPlane)
virtual voidSetMC(TGenerator* theMC)
virtual voidSetMomentumRange(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 voidSetNumberParticles(Int_t npart = 100)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOrigin(const TLorentzVector& o)
virtual voidSetOrigin(Float_t ox, Float_t oy, Float_t oz)
virtual voidSetParentWeight(Float_t wgt)
virtual voidSetPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
voidSetPileUpTimeWindow(Float_t pileUpTimeW)
virtual voidSetProjectile(TString proj = "", Int_t a = 0, Int_t z = 0)
virtual voidSetPtRange(Float_t ptmin = 0, Float_t ptmax = 1.e10)
virtual voidAliRndm::SetRandom(TRandom* ran = 0)
virtual voidSetSeed(UInt_t seed)
virtual voidSetSigma(Float_t sx, Float_t sy, Float_t sz)
virtual voidSetSigmaZ(Float_t sz)
voidSetStack(AliStack* stack)
virtual voidSetTarget(TString tar = "", Int_t a = 0, Int_t z = 0)
virtual voidSetThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
virtual voidSetTime(Float_t time)
virtual voidSetTimeOrigin(Float_t timeorig)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidSetTrackingFlag(Int_t flag = 1)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVertex(Float_t vx, Float_t vy, Float_t vz, Float_t t = 0)
voidSetVertexGenerator(AliVertexGenerator* vertexGenerator)
virtual voidSetVertexSmear(VertexSmear_t smear)
virtual voidSetVertexSource(VertexSource_t source = kInternal)
virtual voidSetVRange(Float_t vxmin, Float_t vxmax, Float_t vymin, Float_t vymax, Float_t vzmin, Float_t vzmax)
virtual voidSetYRange(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()
voidVertex()
voidVertexExternal()
virtual voidVertexInternal()
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidKeepTrack(Int_t itrack)
voidTObject::MakeZombie()
virtual voidPushTrack(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 voidPushTrack(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 voidSetHighWaterMark(Int_t nt)
private:
AliGenerator&operator=(const AliGenerator& gen)

Data Members

public:
enum { 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_tfAProjectileProjectile A
Int_tfATargetTarget A
Int_tfAnalogFlag for anolog or pt-weighted generation
Float_tfChildWeightChildWeight
AliCollisionGeometry*fCollisionGeometry!Collision geometry
AliGenerator*fContainer! Local pointer to container
Float_tfCutVertexZVertex cut in units of sigma_z
Float_tfEnergyCMSCentre of mass energy
Float_tfEvPlanethe event plane
TGenerator*fMCEvGen!Pointer to the generator
TStringTNamed::fNameobject identifier
Int_tfNpartMaximum number of particles per event
TArrayFfOriginOrigin of event
TArrayFfOsigmaSigma of the Origin of event
Float_tfPMaxMinimum momentum of generation in GeV/c
Float_tfPMinMinimum momentum of generation in GeV/c
Float_tfParentWeightParent Weight
Float_tfPhiMaxMaximum phi of generation in radians
Float_tfPhiMinMinimum phi of generation in radians
Float_tfPileUpTimeWindowTime window for pile-up events
TStringfProjectileProjectile
Float_tfPtMaxMaximum transverse momentum
Float_tfPtMinMinimum transverse momentum
TRandom*AliRndm::fRandom! Pointer to the random number generator
AliStack*fStack! Local pointer to stack
TStringfTargetTarget
Float_tfThetaMaxMaximum theta of generation in radians
Float_tfThetaMinMinimum theta of generation in radians
Float_tfTimeEvent time smeared around time0 origin using sigma vertex
Float_tfTimeOriginTime0 origin in a run or event sample
TStringTNamed::fTitleobject title
Int_tfTrackItif 1, Track final state particles
TArrayFfVMaxMinimum Decaylength
TArrayFfVMinMinimum Decaylength
TArrayFfVertex! Vertex of current event
AliVertexGenerator*fVertexGenerator! Generator for the vertex
VertexSmear_tfVertexSmearVertex Smearing mode
VertexSource_tfVertexSourceVertex source (internal/external)
Float_tfYMaxMaximum rapidity
Float_tfYMinMinimum rapidity
Int_tfZProjectileProjectile Z
Int_tfZTargetTarget Z

Class Charts

Inheritance Chart:
TNamed
AliRndm
AliGenerator
AliGenACORDE
AliGenAfterBurnerFlow
AliGenBox
AliGenCocktail
AliGenCocktailAfterBurner
AliGenEMCocktail
AliGenLightNuclei
AliGenMUONCocktail
AliGenMUONCocktailpp
AliGenPileup
 [more...]

Function documentation

~AliGenerator()
 Destructor

void Init()
 Dummy initialisation

void GenerateN(Int_t ntimes)
  Run generator n times
    Used by AliGenCocktail for adding extra signals in proportion to
    multiplicity/centrality
  By default generates one AliGenHeader for each call to Generate()
   Can be overloaded (e.g. AliGenBox and AliGenParam) to consolidate headers

void SetOrigin(Float_t ox, Float_t oy, Float_t oz)
 Set the vertex for the generated tracks

void SetOrigin(const TLorentzVector& o)
 Set the vertex for the generated tracks

void SetSigma(Float_t sx, Float_t sy, Float_t sz)
 Set the spread of the vertex

void SetMomentumRange(Float_t pmin = 0, Float_t pmax = 1.e10)
 Set the momentum range for the generated particles

void SetPtRange(Float_t ptmin = 0, Float_t ptmax = 1.e10)
 Set the Pt range for the generated particles

void SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
 Set the Phi range for the generated particles

void SetYRange(Float_t ymin = -100, Float_t ymax = 100)
 Set the Rapidity range for the generated particles

void SetVRange(Float_t vxmin, Float_t vxmax, Float_t vymin, Float_t vymax, Float_t vzmin, Float_t vzmax)
 Set the vertex range for the generated particles

void SetThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
 Set the theta range for the generated particles

void Vertex()
 Obtain vertex for current event from external source or calculated (internal)

void VertexExternal()
 Obtain vertex from external source (vertex generator)

void VertexInternal()
 Obtain calculated vertex
 Default is gaussian smearing
void 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)
 Loads one track on the stack

void 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)
 Loads one track on the stack

void FinishRun()
void SetSeed(UInt_t seed)
 function to set the seed in the random number generator used by this generator

void SetSigmaZ(Float_t sz)
{fOsigma[2] = sz;}
void SetNumberParticles(Int_t npart = 100)
{fNpart=npart;}
Int_t NumberParticles() const
{return fNpart;}
void Generate()
void SetParentWeight(Float_t wgt)
void SetChildWeight(Float_t wgt)
void SetAnalog(Int_t flag = 1)
{fAnalog=flag;}
void SetVertexSmear(VertexSmear_t smear)
{fVertexSmear = smear;}
void SetCutVertexZ(Float_t cut = 999999.)
{fCutVertexZ = cut;}
void SetVertexSource(VertexSource_t source = kInternal)
{fVertexSource = source;}
void SetVertex(Float_t vx, Float_t vy, Float_t vz, Float_t t = 0)
{fVertex[0] = vx; fVertex[1] = vy; fVertex[2] = vz; fTime = t;}
void SetVertexGenerator(AliVertexGenerator* vertexGenerator)
void SetPileUpTimeWindow(Float_t pileUpTimeW)
{fPileUpTimeWindow = pileUpTimeW;}
void SetTime(Float_t time)
{fTime = time;}
void SetTimeOrigin(Float_t timeorig)
{fTimeOrigin = timeorig;}
void SetTrackingFlag(Int_t flag = 1)
{fTrackIt=flag;}
void SetMC(TGenerator* theMC)
{fMCEvGen =theMC;}
TGenerator* GetMC() const
{return fMCEvGen;}
void AddHeader(AliGenEventHeader* )
{;}
void SetContainer(AliGenerator* container)
{fContainer = container;}
void SetEventPlane(Float_t evPlane)
{fEvPlane = evPlane; }
void GetOrigin(Float_t& ox, Float_t& oy, Float_t& oz) const
 Getters
{ox=fOrigin.At(0);oy=fOrigin.At(1);oz=fOrigin.At(2);}
void GetOrigin(TLorentzVector& o) const
 Stack
{o[0]=fOrigin.At(0);o[1]=fOrigin.At(1);o[2]=fOrigin.At(2);o[3]=0;}
void SetStack(AliStack* stack)
{fStack = stack;}
AliStack* GetStack()
 Collision Geometry
{return fStack;}
Bool_t ProvidesCollisionGeometry() const
{return kFALSE;}
Bool_t NeedsCollisionGeometry() const
{return kFALSE;}
void SetCollisionGeometry(AliCollisionGeometry* geom)
Float_t GetEnergyCMS() const
{ return fEnergyCMS; }
void SetEnergyCMS(Float_t energy = 0)
{ fEnergyCMS = energy; }
void GetProjectile(TString& tar, Int_t& a, Int_t& z) const
void GetTarget(TString& tar, Int_t& a, Int_t& z) const
{tar = fTarget; a = fATarget; z = fZTarget;}
void SetProjectile(TString proj = "", Int_t a = 0, Int_t z = 0)
void SetTarget(TString tar = "", Int_t a = 0, Int_t z = 0)
{fTarget = tar; fATarget = a; fZTarget = z;}
void KeepTrack(Int_t itrack)
void SetHighWaterMark(Int_t nt)
AliGenerator & operator=(const AliGenerator& gen)