ROOT logo
AliRoot » EVGEN » AliGeVSimParticle

class AliGeVSimParticle: public TObject


 AliGeVSimParticle is a helper class for GeVSim (AliGenGeVSim) event generator.
 An object of this class represents one particle type and contain
 information about particle type thermal parameters.



 For examples, parameters and testing macros refer to:
 http:/home.cern.ch/radomski

 for more detailed description refer to ALICE NOTE
 "GeVSim Monte-Carlo Event Generator"
 S.Radosmki, P. Foka.

 Author:
 Sylwester Radomski,
 GSI, March 2002

 S.Radomski@gsi.de



 Updated and revised: September 2002, S. Radomski, GSI


Function Members (Methods)

public:
AliGeVSimParticle()
AliGeVSimParticle(const AliGeVSimParticle&)
AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity)
AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity, Float_t T, Float_t dY = 1., Float_t exp = 0.)
virtual~AliGeVSimParticle()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) 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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Float_tGetDirectedFlow(Float_t pt, Float_t y)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tGetEllipticFlow(Float_t pt, Float_t y)
Float_tGetExpansionVelocity() const
virtual const char*TObject::GetIconName() const
Int_tGetModel() const
Float_tGetMultiplicity() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetPdgCode() const
Float_tGetSigmaY() const
Float_tGetTemperature() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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 voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsFlowSimple() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMultForced() const
Bool_tIsMultTotal() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
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)
AliGeVSimParticle&operator=(const AliGeVSimParticle&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDirectedParam(Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0)
voidSetDirectedSimple(Float_t v1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEllipticOld(Float_t v21, Float_t v22, Float_t v23)
voidSetEllipticParam(Float_t v21, Float_t pTmax, Float_t v22 = 0.)
voidSetEllipticSimple(Float_t v2)
voidSetExpansionVelocity(Float_t vel)
voidSetModel(Int_t model)
voidSetMultiplicity(Float_t mult)
voidSetMultTotal(Bool_t isTotal = kTRUE)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSigmaY(Float_t sigma)
voidSetTemperature(Float_t T)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
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()
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
Float_tfExpansionExpansion Velocity in c units (subject to scalling)
Bool_tfIsDirectedSimpleindicate use constant value for directed (v1)
Bool_tfIsEllipticOldlinear / quadratical pT parametrisation
Bool_tfIsEllipticSimpleindicate use constant value for elliptic (v2)
Bool_tfIsSetMultforce multiplicity mode or use from AliGenGeVSim
Int_tfModelTransverse momentum model
Bool_tfMultTotalmultiplicity mode: Total or dN/dY
Float_tfNMultiplicity (subject to scalling)
Int_tfPDGParticle type code
Float_tfSigmaYRapidity Width
Float_tfTSlope Parameter (subject to scalling)
Float_tfV1[4]Directed Flow coefficient parameters
Float_tfV2[3]Elliptic Flow coefficient parameters

Class Charts

Inheritance Chart:
TObject
AliGeVSimParticle

Function documentation

AliGeVSimParticle()
 Default constructor
AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity, Float_t T, Float_t dY = 1., Float_t exp = 0.)
  pdg          - Particle type code in PDG standard (see: http://pdg.lbl.gov)
  model        - momentum distribution model (1 - 7)
  multiplicity - multiplicity of particle type
  T            - Inverse slope parameter ("temperature")
  dY           - Raridity Width (only for model 1)
  exp          - expansion velocity (only for model 4)
AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity)
 pdg - Particle type code in PDG standard (see: http://pdg.lbl.gov)

 Note that multiplicity can be interpreted by GeVSim
 either as Total multiplicity in the acceptance or dN/dY

void SetModel(Int_t model)
 Set Model (1-7)
 For details about standard and custom models refer to ALICE NOTE

void SetMultiplicity(Float_t mult)
 Set multiplicity. The value is interpreted either as a total multiplciity
 in the acceptance or as a multiplicity density - dN/dY at midrapidity

void SetMultTotal(Bool_t isTotal = kTRUE)
 Switch between total multiplicity (kTRUE) and
 multiplciity density (kFALSE)

 If this method is used its overrides mode in AliGenGeVSim

void SetDirectedSimple(Float_t v1)
 Set directed flow coefficient to a value independent
 of transverse momentum and rapidity

void SetEllipticSimple(Float_t v2)
 Set elliptic flow coefficient to a value independent
 of transverse momentum and rapidity

Bool_t IsFlowSimple() const
 Function used by AliGenGeVSim

 Returns true if both Elliptic and Directed flow has a simple model.
 If at least one is parametrised returns false.

void SetDirectedParam(Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0)
 Set parameters for Directed Flow
 Actual flow coefficient is calculated as follows

 V1(Pt,Y) = (V11 + V12*Pt) * sign(Y) * (V13 + V14 * Y^3)

 where sign = 1 for Y > 0 and -1 for Y < 0

 Defaults values
 v12 = v14 = 0
 v13 = 1

void SetEllipticParam(Float_t v21, Float_t pTmax, Float_t v22 = 0.)
 Set parameters for Elliptic Flow
 Actual flow coefficient is calculated as follows

 pTmax is in GeV
 v21 - flow value at saturation


 V2 = v21 * (pT/pTMax ) * exp (-v22 * y^2)    where pT <= pTmax
      v21 * exp (-v22 * y^2)                   where pT > pTmax

 Default values:
 v22 = 0

 The parametrisation is suitable for relativistic particles
 eg. Pions (at RHIC energies)

void SetEllipticOld(Float_t v21, Float_t v22, Float_t v23)
 Set parameters for Elliptic Flow
 Actual flow coefficient is calculated as follows

 V2 = (V21 + V22 pT^2) * exp (-v22 * y^2)

 The parameterisation is suitable for heavy particles: proton, kaon

Float_t GetDirectedFlow(Float_t pt, Float_t y)
 Return coefficient of a directed flow for a given pt and y.
 For coefficient calculation method refer to SetDirectedParam()

Float_t GetEllipticFlow(Float_t pt, Float_t y)
 Return coefficient of a elliptic flow for a given pt and y.
 For coefficient calculation method refer to SetEllipticParam()

AliGeVSimParticle()
~AliGeVSimParticle()
{}
Int_t GetPdgCode() const
{return fPDG;}
Int_t GetModel() const
{return fModel;}
Float_t GetTemperature() const
{return fT;}
Float_t GetSigmaY() const
{return fSigmaY;}
Float_t GetExpansionVelocity() const
{return fExpansion;}
void SetTemperature(Float_t T)
{fT = T;}
void SetSigmaY(Float_t sigma)
{fSigmaY = sigma;}
void SetExpansionVelocity(Float_t vel)
{fExpansion = vel;}
Float_t GetMultiplicity() const
{return fN;}
Bool_t IsMultTotal() const
{return fMultTotal;}
Bool_t IsMultForced() const
{return fIsSetMult;}