StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TGeVSimEvent.cxx
1 //
3 // Source File Documentation is HERE
4 //
5 // MSD
6 //
8 
9 
10 #include "TGeVSimEvent.h"
11 #include "TParticle.h"
12 #include "TGeVSimParams.h"
13 //#include <iostream>
14 #include "Stiostream.h"
15 
16 ClassImp(TGeVSimEvent);
17 
19 
20 TGeVSimEvent::TGeVSimEvent(Int_t numParts) {
21  //
22  // Constructor Documentation:
23  //
24  // Sets some defaults, declares the TClonesArray
25  //
26 
27  evNum = 1;
28 
29  evParts = new TClonesArray("TParticle", numParts);
30  evParams = new TObjArray(10, 0);
31 
32 }
33 
35 
36 TGeVSimEvent::~TGeVSimEvent() {
37  //
38  // This is the destructor
39  //
40 
41  if (evParts) delete evParts;
42 }
43 
45 
46 Double_t TGeVSimEvent::MeanPt() const {
47  //
48  // MeanPt doc
49  //
50 
51  Double_t sum = 0;
52 
53  for(Int_t i=0; i<evParts->GetEntries(); i++) {
54  TParticle *p = (TParticle*)evParts->At(i);
55  sum += p->Pt();
56  }
57 
58  sum /= evParts->GetEntries();
59  return sum;
60 }
61 
63 
64 Int_t TGeVSimEvent::GetMult() const {
65  //
66  // GetMult doc
67  //
68 
69  Int_t mult;
70 
71  if (evParts) {
72  mult = evParts->GetEntriesFast();
73  }
74  else {
75  Error("GetMult","No array defined");
76  mult = -1;
77  }
78 
79  return mult;
80 
81 }
82 
84 
85 void TGeVSimEvent::NextEvent() {
86  //
87  // NextEvent doc
88  // Reset everything for the next event
89  //
90 
91  //evNum++;
92  evParts->Clear();
93  evParams->Clear();
94 }
95 
97 
98 void TGeVSimEvent::Print(Option_t* option) const {
99  //
100  // Print doc
101  //
102 
103  cout << "Event Number " << evNum << endl;
104  cout << "Multiplicity: " << GetMult() << endl;
105  //cout << "Reaction Plane: " << evPsi*180/3.14 << endl;
106  printf("Reaction Plane: %3.2f\n", evPsi*180/3.142);
107  cout << "Mean Pt: " << MeanPt() << endl;
108 
109  cout << "Particle Parameters:" << endl;
110  for(Int_t i=0; i<evParams->GetEntries(); i++)
111  {
112  TGeVSimParams *par = (TGeVSimParams*)evParams->At(i);
113  if (i==0) par->PrintHeader();
114  par->Print();
115  }
116  cout << endl << endl;
117 
118 }
119 
121 
122 
Definition: FJcore.h:367