SToGS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
ParisEvents.h
Go to the documentation of this file.
1 
2 
3 #ifndef _ParisEvents
4 #define _ParisEvents 1
5 
6 #include "TObject.h"
7 #include "TClonesArray.h"
8 
9 #include <list>
10 
53 class PHit : public TObject
54 {
55 public:
57 
58 public:
59  Double32_t fE; // energy
60  Int_t fID; // an ID
61  Double32_t fX; // X position
62  Double32_t fY; // Y position
63  Double32_t fZ; // Z position
64  Double32_t fT; // time of flight
65  Int_t fFlag; // a flag
66  Int_t fUID; // a universal ID
67 
68 private:
69  void Clear(Option_t *opt);
70 
71 public:
72  PHit();
73  PHit(const PHit &);
74  virtual ~PHit();
75 
76  ClassDef( PHit , 1 ) // Paris Hit
77 };
78 
82 class PEvent : public TObject
83 {
84 private:
85  TClonesArray *fHits; //-> Collection of hits
86 
87  Double32_t fH; // sum energy
88  Int_t fK; // fold
89 
90 public:
91  PEvent();
92  virtual ~PEvent();
93 
95  void CopyTo(std::vector <PHit *> &ordlist, Option_t *opt = "");
96 
97  // number of hits in that event
98  Int_t GetNbHits() const
99  { return fHits->GetEntries(); }
100 
101  PHit *IsUID(Int_t uid, Int_t *which = 0x0)
102  {
103  TClonesArray &ar = *fHits;
104 
105  PHit *ishit = 0x0; Int_t entries = fHits->GetEntries();
106  for (Int_t j = 0; j < entries; j++) {
107  PHit *hit = (PHit *)ar[j];
108  if ( hit->fUID == uid ) {
109  ishit = hit;
110  if ( which )
111  (*which) = j;
112  break;
113  }
114  }
115  return ishit;
116  }
117 
119  PHit *GetHit(Int_t);
121  PHit *AddHit();
122 
123  void AddHK(Double_t h, Int_t k = 1)
124  { fH += h; fK += k; }
125 
126  void SetHK(Double_t h, Int_t k)
127  { fH = h; fK = k; }
128 
129  Double_t GetH() const
130  { return fH;}
131  Int_t GetK() const
132  { return fK; }
133 
135  void Clear(Option_t *opt);
136 
137  ClassDef( PEvent , 1 ) // Paris Event
138 };
139 
140 class POpticalHit : public TObject
141 {
142 public:
143  Double32_t fX; // X position of the last point of the track
144  Double32_t fY; // Y position of the last point of the track
145  Double32_t fZ; // Z position of the last point of the track
146  Double32_t fTA; // arrival time for the last point of the track since event
147  Double32_t fTL; // arrival time for the last point of the track since creation of the photon
148 
149  Double32_t fLength; // length of the trace
150 
151  Int_t fPrimaryID; // Primary ID, in case more that one primary particle is giving scintillation
152  Int_t fSecondaryID; // detector ID where the optical photon is
153  Int_t fNbSteps; // number of steps between start and stop
154 
155 private:
156  void Clear(Option_t *opt);
157 
158 public:
159  POpticalHit();
160  POpticalHit(const POpticalHit &);
161  virtual ~POpticalHit();
162 
163  ClassDef( POpticalHit , 1 ) // Paris Optical Hit
164 };
165 
166 class POpticalEvent : public TObject
167 {
168 private:
169  TClonesArray *fHits; //-> Collection of optical hits
170 
171 public:
172  POpticalEvent();
173  virtual ~POpticalEvent();
174 
175  // number of hits in that event
176  Int_t GetNbHits() const
177  { return fHits->GetEntries(); }
178 
180  POpticalHit *GetHit(Int_t);
182  POpticalHit *AddHit();
183 
184  void Clear(Option_t *opt);
185 
186  ClassDef( POpticalEvent , 1 ) // Paris Optical Event
187 
188 };
189 
190 #endif
191 
Int_t GetNbHits() const
Definition: ParisEvents.h:176
Double32_t fZ
Definition: ParisEvents.h:63
PHit * GetHit(Int_t)
to get a Hit
Definition: ParisEvents.C:142
Int_t fSecondaryID
Definition: ParisEvents.h:152
Int_t fPrimaryID
Definition: ParisEvents.h:151
Int_t fUID
Definition: ParisEvents.h:66
Double_t GetH() const
Definition: ParisEvents.h:129
Double32_t fX
Definition: ParisEvents.h:143
Double32_t fY
Definition: ParisEvents.h:144
Int_t GetK() const
Definition: ParisEvents.h:131
PHit * IsUID(Int_t uid, Int_t *which=0x0)
Definition: ParisEvents.h:101
Double32_t fX
Definition: ParisEvents.h:61
Double32_t fLength
Definition: ParisEvents.h:149
virtual ~PHit()
Definition: ParisEvents.C:51
EParticle
Definition: ParisEvents.h:56
virtual ~POpticalHit()
Definition: ParisEvents.C:102
Double32_t fTA
Definition: ParisEvents.h:146
void CopyTo(std::vector< PHit * > &ordlist, Option_t *opt="")
helper function
Definition: ParisEvents.C:209
Double32_t fT
Definition: ParisEvents.h:64
void Clear(Option_t *opt)
clear the collection of hits, set H, K to 0
Definition: ParisEvents.C:122
void AddHK(Double_t h, Int_t k=1)
Definition: ParisEvents.h:123
Double32_t fE
Definition: ParisEvents.h:59
void Clear(Option_t *opt)
Definition: ParisEvents.C:164
Int_t GetNbHits() const
Definition: ParisEvents.h:98
virtual ~PEvent()
Definition: ParisEvents.C:117
Double32_t fY
Definition: ParisEvents.h:62
POpticalHit * AddHit()
add a hit to the current event
Definition: ParisEvents.C:169
POpticalHit * GetHit(Int_t)
to get a Hit
Definition: ParisEvents.C:181
Double32_t fTL
Definition: ParisEvents.h:147
PHit * AddHit()
add a hit to the current event
Definition: ParisEvents.C:130
Int_t fID
Definition: ParisEvents.h:60
virtual ~POpticalEvent()
Definition: ParisEvents.C:159
void SetHK(Double_t h, Int_t k)
Definition: ParisEvents.h:126
Int_t fFlag
Definition: ParisEvents.h:65
Double32_t fZ
Definition: ParisEvents.h:145
Int_t fNbSteps
Definition: ParisEvents.h:153