]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TMEVSIM/TMevSim.h
Track reconstruction code for TOF: updating
[u/mrichter/AliRoot.git] / TMEVSIM / TMevSim.h
CommitLineData
31d87da2 1#ifndef TMEVSIM_H
2#define TMEVSIM_H
1a2762e8 3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//////////////////////////////////////////////////////////////////////////
10// //
11// TMevSim //
12// //
13// This class implements an interface to the MevSim event generator. //
14// //
15//////////////////////////////////////////////////////////////////////////
16
17#include "TGenerator.h"
1a2762e8 18
31d87da2 19class TMevSimPartTypeParams;
1a2762e8 20
31d87da2 21class TMevSim : public TGenerator {
1a2762e8 22
23 public:
24 // Constructors and destructors
25
26 TMevSim(Int_t nEvents = 1, Int_t modelType=1, Int_t reacPlaneCntrl=4,
27 Float_t psiRMean=0.0, Float_t psiRStDev=0.0, Float_t multFacMean=1.0, Float_t multFacStDev=0.05,
28 Float_t ptCutMin = 0.01, Float_t ptCutMax = 3.0, Float_t etaCutMin=(-4.5), Float_t etaCutMax = 4.5,
29 Float_t phiCutMin=0.0, Float_t phiCutMax=360.0, Int_t irand=87266);
30
31 TMevSim(TMevSim& mevsim); // copy constructor
31d87da2 32 TMevSim& operator=(const TMevSim& mevsim);
1a2762e8 33 virtual ~TMevSim();
34
1a2762e8 35 // Mandatory TGenerator functions
36
37 virtual void Initialize();
38
39 virtual void GenerateEvent();
40
41 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
42
43 //Parameters for the generation:
44
45 virtual void SetNEvents(Int_t nEvents );
46 virtual Int_t GetNEvents() const;
47
48 virtual Int_t GetNPidTypes() const;
49
50 virtual void SetModelType(Int_t modelType);
51 virtual Int_t GetModelType() const;
52
53 virtual void SetReacPlaneCntrl(Int_t reacPlaneCntrl);
54 virtual Int_t GetReacPlaneCntrl() const;
55
56 virtual void SetPsiRParams(Float_t psiRMean, Float_t psiRStDev);
57 virtual Float_t GetPsiRMean() const;
58 virtual Float_t GetPsiRStDev() const;
59
60 virtual void SetMultFacParams(Float_t multFacMean, Float_t multFacStDev);
61 virtual Float_t GetMultFacMean() const;
62 virtual Float_t GetMultFacStDev() const;
63
64 // Pt and geometry cut
65
66 virtual void SetPtCutRange(Float_t ptCutMin, Float_t ptCutMax);
67 virtual Float_t GetPtCutMin() const;
68 virtual Float_t GetPtCutMax() const;
69
70 virtual void SetEtaCutRange(Float_t etaCutMin, Float_t etaCutMax);
71 virtual Float_t GetEtaCutMin() const;
72 virtual Float_t GetEtaCutMax() const;
73
74 virtual void SetPhiCutRange(Float_t phiCutMin, Float_t phiCutMax);
75 virtual Float_t GetPhiCutMin() const;
76 virtual Float_t GetPhiCutMax() const;
77
78 // StDev
79
80 virtual void SetNStDevMult(Float_t nStDevMult);
81 virtual Float_t GetNStDevMult() const;
82
83 virtual void SetNStDevTemp(Float_t nStDevTemp);
84 virtual Float_t GetNStDevTemp() const;
85
86 virtual void SetNStDevSigma(Float_t nStDevSigma);
87 virtual Float_t GetNStDevSigma() const;
88
89 virtual void SetNStDevExpVel(Float_t nStDevExpVel);
90 virtual Float_t GetNStDevExpVel() const;
91
92 virtual void SetNStDevPSIr(Float_t nStDevPSIr);
93 virtual Float_t GetNStDevPSIr() const;
94
95 virtual void SetNStDevVn(Float_t nStDevVn);
96 virtual Float_t GetNStDevVn() const;
97
98 virtual void SetNStDevMultFac(Float_t nStDevMultFac);
99 virtual Float_t GetNStDevMultFac() const;
100
101 // grid
102
103 virtual void SetNIntegPts(Int_t nIntegPts);
104 virtual Int_t GetNintegPts() const;
105
106 virtual void SetNScanPts(Int_t nScanPts);
107 virtual Int_t GetNScanPts() const;
108
109 // adding particles
110
111 virtual void AddPartTypeParams(TMevSimPartTypeParams *params);
112 virtual void SetPartTypeParams(Int_t index, TMevSimPartTypeParams *params);
31d87da2 113 virtual void GetPartTypeParamsByIndex(Int_t index, TMevSimPartTypeParams *params) const;
114 virtual void GetPartTypeParamsByGPid(Int_t gpid, TMevSimPartTypeParams *params) const;
1a2762e8 115
116 // conversion
117
118 virtual Int_t PDGFromId(Int_t gpid) const;
119 virtual void DefineParticles();
31d87da2 120
121protected:
122
123 Int_t fNEvents; // number of events to generate
124 Int_t fModelType;// type of the model (see class descr at .cxx)
125 Int_t fReacPlaneCntrl;//reaction plane constrol switch (see class descr at .cxx)
126 Float_t fPsiRMean; //Reaction plane angle mean (degrees) (see class descr at .cxx)
127 Float_t fPsiRStDev;//Reaction plane angle variance (degrees) (see class descr at .cxx)
128 Float_t fMultFacMean;// Mean of Overall multiplicity scaling factor (see class descr at .cxx)
129 Float_t fMultFacStDev;//Variance of Overall multiplicity scaling factor (see class descr at .cxx)
130 Float_t fPtCutMin; //Min Range of transverse momentum in GeV/c (see class descr at .cxx)
131 Float_t fPtCutMax;//Max Range of transverse momentum in GeV/c (see class descr at .cxx)
132 Float_t fEtaCutMin; //Min Pseudorapidity range(see class descr at .cxx)
133 Float_t fEtaCutMax;//Max Pseudorapidity range(see class descr at .cxx)
134 Float_t fPhiCutMin; //Min of Azimuthal angular range in degrees.(see class descr at .cxx)
135 Float_t fPhiCutMax;//Max of Azimuthal angular range in degrees. (see class descr at .cxx)
136 Float_t fNStDevMult; //Number of standard deviations the mean value of multiplicity(see class descr at .cxx)
137 Float_t fNStDevTemp; //Number of standard deviations the mean value of temperature
138 Float_t fNStDevSigma; //Number of standard deviations the mean value of rapidity
139 Float_t fNStDevExpVel; //Number of standard deviations the mean value of expansion velocity
140 Float_t fNStdDevPSIr; //Number of standard deviations the mean value of reaction plane angle
141 Float_t fNStDevVn; ////Number of standard deviations the mean value of
142 Float_t fNStDevMultFac;////Number of standard deviations the mean value of multiplicity scaling factor
143 Int_t fNIntegPts;//Number of mesh points to use in the random model
144 Int_t fNScanPts;//Number of mesh points to use to scan the (pt,y)
145 Int_t firand; //seed of RNG
146 TClonesArray *fParticleTypeParameters;//pointer to particle parameters
147
148 // Copied from AliGeant
149 enum {kMaxParticles = 35};
150
151 Int_t fNPDGCodes; // Number of PDG codes known by G3
152
153 Int_t fPDGCode[kMaxParticles]; // Translation table of PDG codes
1a2762e8 154
155 ClassDef(TMevSim,1) //Interface to MevSim Event Generator
156
157};
158
159#endif
160
161
162
163
164
165