KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVSimReader_MMM.cpp
Go to the documentation of this file.
1 //Created by KVClassFactory on Tue Jul 6 16:48:05 2010
2 //Author: Eric Bonnet
3 
4 #include "KVSimReader_MMM.h"
5 
7 
8 
9 
10 
14 {
15  // Default constructor
16  init();
17 }
18 
19 
20 
22 
24 {
25  init();
26  ConvertEventsInFile(filename);
27 }
28 
29 
30 
33 
35 {
36  // Destructor
37 }
38 
39 
40 
42 
44 {
45 
46 
47  while (IsOK()) {
48  while (ReadEvent()) {
49  if (nevt % 1000 == 0) Info("ReadFile", "%d evts lus", nevt);
50  if (HasToFill()) FillTree();
51  }
52  }
53 
54 }
55 
56 
57 
58 
60 
62 {
63 
64  evt->Clear();
65  Int_t mult = 0, natt = 0;
66 
67  ReadLine(" ");
68 
69  Int_t res = GetNparRead();
70  switch (res) {
71  case 0:
72  Info("ReadEvent", "case 0 line est vide");
73  return kFALSE;
74  default:
75  idx = 0;
76  mult = GetIntReadPar(idx++);
77  natt = 6 * mult + 4 + 1;
78  if (natt != res) {
79  Info("ReadEvent", "Nombre de parametres (%d) different de celui attendu (%d)", res, natt);
80  return kFALSE;
81  }
86 
87  for (Int_t mm = 0; mm < mult; mm += 1) {
89  ReadNucleus();
90  }
91 
92  evt->SetNumber(nevt);
93  nevt += 1;
94  return kTRUE;
95  }
96 
97 }
98 
99 
100 
102 
104 {
105 
106  Int_t aa = GetIntReadPar(idx++);
107  nuc->SetZ(GetIntReadPar(idx++));
108  nuc->SetA(aa);
109  Double_t exci = GetDoubleReadPar(idx++);
110  Double_t px = GetDoubleReadPar(idx++);
111  Double_t py = GetDoubleReadPar(idx++);
112  Double_t pz = GetDoubleReadPar(idx++);
113 
114  nuc->SetMomentum(px, py, pz);
115  nuc->SetExcitEnergy(exci);
116 
117  return kTRUE;
118 
119 }
120 
121 
int Int_t
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
const Bool_t kFALSE
bool Bool_t
double Double_t
const Bool_t kTRUE
virtual void SetNumber(UInt_t num)
Definition: KVBase.h:209
KVNameValueList * GetParameters() const
Definition: KVEvent.h:391
virtual void Clear(Option_t *opt="")
Definition: KVEvent.cpp:200
KVNucleus * AddParticle()
Definition: KVEvent.cpp:166
void ReadLine(const Char_t *pattern)
Definition: KVFileReader.h:84
Double_t GetDoubleReadPar(Int_t pos)
Definition: KVFileReader.h:159
Bool_t IsOK()
Definition: KVFileReader.h:74
Int_t GetIntReadPar(Int_t pos)
Definition: KVFileReader.h:163
Int_t GetNparRead()
Definition: KVFileReader.h:150
void SetValue(const Char_t *name, value_type value)
void SetExcitEnergy(Double_t e)
Definition: KVNucleus.cpp:865
void SetA(Int_t a)
Definition: KVNucleus.cpp:655
void SetZ(Int_t z, Char_t mt=-1)
Definition: KVNucleus.cpp:704
void SetMomentum(const TVector3 &v)
Definition: KVParticle.h:535
Nucleus in a simulated event.
Definition: KVSimNucleus.h:20
Read ascii file for events of the MMM code at Freeze Out.
virtual Bool_t ReadNucleus()
virtual Bool_t ReadEvent()
virtual ~KVSimReader_MMM()
Destructor.
KVSimReader_MMM()
Default constructor.
virtual void ReadFile()
Int_t nevt
Definition: KVSimReader.h:68
KVSimNucleus * nuc
Definition: KVSimReader.h:66
virtual Bool_t HasToFill()
Definition: KVSimReader.h:133
virtual void FillTree()
Definition: KVSimReader.h:129
virtual void ConvertEventsInFile(KVString filename)
Method called by constructors with KVString filename argument.
Definition: KVSimReader.cpp:56
KVSimEvent * evt
Definition: KVSimReader.h:65
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:72
virtual void Info(const char *method, const char *msgfmt,...) const
const long double mm
Definition: KVUnits.h:69