X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGeVSimParticle.h;h=2355a63742ee51720d4c50e4828a9f6df2318804;hb=77063fe477bfc06a51967197351a1dd58bf628eb;hp=ea9ee43c21529dea190701919f56b62109935139;hpb=4966b26647b16477353852f44a55c70b8d847e73;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGeVSimParticle.h b/EVGEN/AliGeVSimParticle.h index ea9ee43c215..2355a63742e 100644 --- a/EVGEN/AliGeVSimParticle.h +++ b/EVGEN/AliGeVSimParticle.h @@ -1,23 +1,39 @@ #ifndef ALIGEVSIMPARTICLE_H #define ALIGEVSIMPARTICLE_H -//////////////////////////////////////////////////////////////////////////////// +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* $Id$ */ + +////////////////////////////////////////////////////////////////////////////// // // 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 +// //////////////////////////////////////////////////////////////////////////////// + #include "TObject.h" class AliGeVSimParticle : public TObject { @@ -25,55 +41,76 @@ class AliGeVSimParticle : public TObject { public: //////////////////////////////////////////////////////////////////////////// - - AliGeVSimParticle() {} - AliGeVSimParticle(Int_t pdg); - AliGeVSimParticle(Int_t pdg, Int_t n, + + 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.); - ~AliGeVSimParticle() {} + ~AliGeVSimParticle() {} //////////////////////////////////////////////////////////////////////////// Int_t GetPdgCode() const {return fPDG;} - - Float_t GetMultiplicity() const {return fN;} + 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 SetMultiplicity(Float_t n) {fN = n;} + + void SetModel(Int_t model); + void SetTemperature(Float_t T) {fT = T;} + void SetSigmaY(Float_t sigma) {fSigmaY = sigma;} void SetExpansionVelocity(Float_t vel) {fExpansion = vel;} - // Flow + + // Multiplicity + + void SetMultiplicity(Float_t mult); + Float_t GetMultiplicity() const {return fN;} + + void SetMultTotal(Bool_t isTotal = kTRUE); + + Bool_t IsMultTotal() const {return fMultTotal;} + Bool_t IsMultForced() const {return fIsSetMult;} - void SetDirectedFlow(Float_t v11, Float_t v12=0, Float_t v13=1, Float_t v14=0); - void SetEllipticFlow(Float_t v21, Float_t v22=0, Float_t v23=0); + // Flow + void SetDirectedSimple(Float_t v1); + void SetEllipticSimple(Float_t v2); + + void SetDirectedParam(Float_t v11, Float_t v12=0, Float_t v13=1, Float_t v14=0); + void SetEllipticParam(Float_t v21, Float_t pTmax, Float_t v22=0.); + void SetEllipticOld(Float_t v21, Float_t v22, Float_t v23); + + Bool_t IsFlowSimple() const; + Float_t GetDirectedFlow(Float_t pt, Float_t y); Float_t GetEllipticFlow(Float_t pt, Float_t y); - Float_t GetDirectedFlow(); - Float_t GetEllipticFlow(); - - //////////////////////////////////////////////////////////////////////////// private: Int_t fPDG; // Particle type code - + Int_t fModel; // Transverse momentum model + Float_t fN; // Multiplicity (subject to scalling) + Bool_t fMultTotal; // multiplicity mode: Total or dN/dY + Bool_t fIsSetMult; // force multiplicity mode or use from AliGenGeVSim + Float_t fT; // Slope Parameter (subject to scalling) Float_t fSigmaY; // Rapidity Width Float_t fExpansion; // Expansion Velocity in c units (subject to scalling) - Float_t fV1[4]; // Direct Flow coefficient parameters (subject to scalling) - Float_t fV2[3]; // Elliptical flow coefficient parameters (subject to scalling) - - public: + Float_t fV1[4]; // Directed Flow coefficient parameters + Float_t fV2[3]; // Elliptic Flow coefficient parameters - ClassDef(AliGeVSimParticle, 1) + Bool_t fIsDirectedSimple; // indicate use constant value for directed (v1) + Bool_t fIsEllipticSimple; // indicate use constant value for elliptic (v2) + Bool_t fIsEllipticOld; // linear / quadratical pT parametrisation + + ClassDef(AliGeVSimParticle, 3) };