QwAnalysis
QwEvent.h
Go to the documentation of this file.
1 #ifndef QWEVENT_H
2 #define QWEVENT_H
3 
4 // System headers
5 #include <vector>
6 
7 // ROOT headers
8 #include "TObject.h"
9 #include "TString.h"
10 #include "TClonesArray.h"
11 #include "TRefArray.h"
12 #include "TObjArray.h"
13 #include "TVector3.h"
14 
15 // Qweak headers
16 #include "QwTypes.h"
17 #include "QwObjectCounter.h"
18 #include "QwTreeLine.h"
19 #include "QwPartialTrack.h"
20 #include "QwTrack.h"
21 
22 // Forward declarations
23 class QwHit;
24 class QwHitContainer;
25 class QwVertex;
26 
27 
28 /**
29  * \class QwEventHeader
30  * \ingroup QwTracking
31  *
32  * \brief Contains header information of a tracked event
33  *
34  * Objects of this class contain the header information of a tracked event,
35  * such as the run number, event number, the trigger type, etc.
36  */
37 class QwEventHeader: public TObject, public QwObjectCounter<QwEventHeader> {
38 
39  private:
40 
41  UInt_t fRunNumber; ///< Run number
42  //
43  ULong_t fEventNumber; ///< Event number
44  ULong_t fEventTime; ///< Event time (unix time? some time in boost?)
45  //
46  UInt_t fEventType; ///< Event type (probably bit pattern)
47  UInt_t fEventTrigger; ///< Event trigger (probably bit pattern)
48  //
49  EQwHelicity fBeamHelicity; ///< Beam helicity (from MPS pattern phase)
50 
51  public:
52 
53  /// Default constructor
58  /// Constructor with run and event number
59  QwEventHeader(const UInt_t run, const ULong_t event)
60  : fRunNumber(run),fEventNumber(event),fEventTime(0),
63  /// Copy constructor
65  : TObject(header),QwObjectCounter<QwEventHeader>(header) {
66  fRunNumber = header.fRunNumber;
67  //
68  fEventNumber = header.fEventNumber;
69  fEventTime = header.fEventTime;
70  fEventType = header.fEventType;
72  //
74  };
75  /// Destructor
76  virtual ~QwEventHeader(){};
77 
78  /// Set the run number
79  void SetRunNumber(const UInt_t runnumber) { fRunNumber = runnumber; };
80  /// Get the run number
81  UInt_t GetRunNumber() const { return fRunNumber; };
82 
83  /// Set the event number
84  void SetEventNumber(const ULong_t eventnumber) { fEventNumber = eventnumber; };
85  /// Get the event number
86  ULong_t GetEventNumber() const { return fEventNumber; };
87 
88  /// Set the event time
89  void SetEventTime(const ULong_t eventtime) { fEventTime = eventtime; };
90  /// Get the event time
91  ULong_t GetEventTime() const { return fEventTime; };
92 
93  /// Set the event type
94  void SetEventType(const UInt_t eventtype) { fEventType = eventtype; };
95  /// Get the event type
96  UInt_t GetEventType() const { return fEventType; };
97 
98  /// Set the event trigger
99  void SetEventTrigger(const UInt_t eventtrigger) { fEventTrigger = eventtrigger; };
100  /// Get the event trigger
101  UInt_t GetEventTrigger() const { return fEventTrigger; };
102 
103  /// Set the beam helicity
104  void SetBeamHelicity(const EQwHelicity helicity) { fBeamHelicity = helicity; };
105  /// Get the beam helicity
107 
108  /// \brief Output stream operator
109  friend std::ostream& operator<< (std::ostream& stream, const QwEventHeader& h);
110 
112 };
113 
114 /// Output stream operator
115 inline std::ostream& operator<< (std::ostream& stream, const QwEventHeader& h) {
116  stream << "Run " << h.fRunNumber << ", ";
117  stream << "event " << h.fEventNumber << ":";
118  return stream;
119 }
120 
121 
122 /**
123  * \class QwKinematics
124  * \ingroup QwTracking
125  *
126  * \brief Kinematic variables
127  *
128  */
129 class QwKinematics: public TObject {
130  public:
132  : fP0(0),fPp(0),fQ2(0),fW2(0),fNu(0),fX(0),fY(0) { };
133  virtual ~QwKinematics() { };
134 
135  double fP0; ///< Incoming momentum \f$ p \f$
136  double fPp; ///< Outgoing momentum \f$ p^\prime \f$
137  double fQ2; ///< Four-momentum transfer squared \f$ Q^2 = - q \cdot q \f$
138  double fW2; ///< Invariant mass squared of the recoiling target system
139  double fNu; ///< Energy loss of the electron \f$ \nu = E - E' = q \cdot p / M \f$
140  double fX; ///< Bjorken-x scaling variable \f$ x = Q^2 / 2 M \nu \f$
141  double fY; ///< Fractional energy loss \f$ y = \nu / E \f$
142 
144 };
145 
146 
147 /**
148  * \class QwEvent
149  * \ingroup QwTracking
150  *
151  * \brief Contains a tracked event, i.e. all information from hits to tracks
152  *
153  * A QwEvent contains all event information, from hits over partial track to
154  * complete tracks. It serves as the final product of the tracking code.
155  */
156 class QwEvent: public TObject, public QwObjectCounter<QwEvent> {
157 
158  public:
159 
160  // Event header (owned by QwEvent)
162 
163  #define QWTREELINES_IN_STL_VECTOR
164  #define QWPARTIALTRACKS_IN_STL_VECTOR
165  #define QWTRACKS_IN_STL_VECTOR
166 
167  // Hits
168  Int_t fNQwHits; ///< Number of QwHits in the array
169  std::vector<QwHit*> fQwHits; ///< Array of QwHits
170 
171  // Tree lines
172  Int_t fNQwTreeLines; ///< Number of QwTreeLines in the array
173  std::vector<QwTreeLine*> fQwTreeLines; ///< Array of QwTreeLines
174 
175  // Partial tracks
176  Int_t fNQwPartialTracks; ///< Number of QwPartialTracks in the array
177  std::vector<QwPartialTrack*> fQwPartialTracks; ///< Array of QwPartialTracks
178 
179  // Tracks
180  Int_t fNQwTracks; ///< Number of QwTracks in the array
181  std::vector<QwTrack*> fQwTracks; ///< Array of QwTracks
182 
183 
184  public:
185 
186  /// Default constructor
187  QwEvent();
188  /// Virtual destructor
189  virtual ~QwEvent();
190 
191  // Event header
192  const QwEventHeader* GetEventHeader() const { return fEventHeader; };
193  void SetEventHeader(const QwEventHeader& eventheader) {
194  if (fEventHeader) delete fEventHeader;
195  fEventHeader = new QwEventHeader(eventheader);
196  };
197  void SetEventHeader(const QwEventHeader* eventheader) {
198  if (fEventHeader) delete fEventHeader;
199  fEventHeader = new QwEventHeader(*eventheader);
200  };
201 
202 
203  /// \brief Load the beam properties from a map file
204  void LoadBeamProperty(const TString& map);
205 
206  /// \brief Calculate the energy loss in the hydrogen target
207  double EnergyLossHydrogen(const double vertex_z);
208 
209  public:
210 
211  // Housekeeping methods for lists
212  void Clear(Option_t *option = ""); // Clear the current event
213  void Reset(Option_t *option = ""); // Reset the static arrays (periodically)
214 
215  //! \name Hit list maintenance for output to ROOT files
216  // @{
217  //! \brief Create a new hit
218  QwHit* CreateNewHit();
219  //! \brief Add an existing hit as a copy
220  void AddHit(const QwHit* hit);
221  //! \brief Clear the list of hits
222  void ClearHits(Option_t *option = "");
223  //! \brief Reset the list of hits
224  void ResetHits(Option_t *option = "");
225  //! \brief Add the hits in a hit container as a copy
226  void AddHitContainer(const QwHitContainer* hitlist);
227  //! \brief Get the list of hits as a hit container
229  //! \brief Get the number of hits
230  Int_t GetNumberOfHits() const { return fNQwHits; };
231  //! \brief Get the list of hits
232  const std::vector<QwHit*>& GetListOfHits() const { return fQwHits; };
233  //! \brief Get the specified hit
234  const QwHit* GetHit(const int hit) const;
235  //! \brief Print the list of hits
236  void PrintHits(Option_t* option = "") const;
237  // @}
238 
239  //! \name Tree line list maintenance for output to ROOT files
240  // @{
241  //! \brief Create a new tree line
243  //! \brief Add an existing tree line as a copy
244  void AddTreeLine(const QwTreeLine* treeline);
245  //! \brief Add a list of existing tree lines as a copy
246  void AddTreeLineList(const QwTreeLine* treelinelist);
247  //! \brief Add a list of existing tree lines as a copy
248  void AddTreeLineList(const std::vector<QwTreeLine*>& treelinelist);
249  //! \brief Clear the list of tree lines
250  void ClearTreeLines(Option_t *option = "");
251  //! \brief Reset the list of tree lines
252  void ResetTreeLines(Option_t *option = "");
253  //! \brief Get the number of tree lines
254  Int_t GetNumberOfTreeLines() const { return fNQwTreeLines; };
255  //! \brief Get the list of tree lines
256  const std::vector<QwTreeLine*>& GetListOfTreeLines() const { return fQwTreeLines; };
257  //! \brief Get the list of tree lines in region and direction
258  const std::vector<QwTreeLine*> GetListOfTreeLines(EQwRegionID region, EQwDirectionID direction) const;
259  //! \brief Get the specified tree line
260  const QwTreeLine* GetTreeLine(const int tl) const;
261  //! \brief Print the list of tree lines
262  void PrintTreeLines(Option_t* option = "") const;
263  // @}
264 
265  //! \name Partial track list maintenance for output to ROOT files
266  // @{
267  //! \brief Create a new partial track
269  //! \brief Add an existing partial track as a copy
270  void AddPartialTrack(const QwPartialTrack* partialtrack);
271  //! \brief Add a list of existing partial tracks as a copy
272  void AddPartialTrackList(const std::vector<QwPartialTrack*>& partialtracklist);
273  //! \brief Clear the list of partial tracks
274  void ClearPartialTracks(Option_t *option = "");
275  //! \brief Reset the list of partial tracks
276  void ResetPartialTracks(Option_t *option = "");
277  //! \brief Get the number of partial tracks
278  Int_t GetNumberOfPartialTracks() const { return fNQwPartialTracks; };
279  //! \brief Get the list of partial tracks in region and direction
280  const std::vector<QwPartialTrack*> GetListOfPartialTracks(EQwRegionID region, EQwDetectorPackage package) const;
281  //! \brief Get the list of partial tracks
282  const std::vector<QwPartialTrack*>& GetListOfPartialTracks() const { return fQwPartialTracks; };
283  //! \brief Get the specified partial track
284  const QwPartialTrack* GetPartialTrack(const int pt) const;
285  //! \brief Print the list of partial tracks
286  void PrintPartialTracks(Option_t* option = "") const;
287  // @}
288 
289  //! \name Track list maintenance for output to ROOT files
290  // @{
291  //! \brief Create a new track
293  //! \brief Add an existing track as a copy
294  void AddTrack(const QwTrack* track);
295  //! \brief Add a list of existing partial tracks as a copy
296  void AddTrackList(const std::vector<QwTrack*>& tracklist);
297  //! \brief Clear the list of tracks
298  void ClearTracks(Option_t *option = "");
299  //! \brief Reset the list of tracks
300  void ResetTracks(Option_t *option = "");
301  //! \brief Get the number of tracks
302  Int_t GetNumberOfTracks() const { return fNQwTracks; };
303  //! \brief Get the list of tracks
304  const std::vector<QwTrack*>& GetListOfTracks() const { return fQwTracks; };
305  //! \brief Get the specified track
306  const QwTrack* GetTrack(const int t) const;
307  //! \brief Print the list of tracks
308  void PrintTracks(Option_t* option = "") const;
309  // @}
310 
311  /// \brief Calculate the kinematic variables for a given track
312  void CalculateKinematics(const QwTrack* track);
313 
314  //! \brief Print the event
315  void Print(Option_t* option = "") const;
316 
317  const TVector3& GetVertexPosition() const { return fVertexPosition;};
318  const TVector3& GetVertexMomentum() const { return fVertexMomentum;};
319  Double_t GetScatteringAngle() const { return fScatteringAngle;};
320  Double_t GetScatteringVertexZ() const { return fScatteringVertexZ;};
321 
322  public:
323 
324  static double fBeamEnergy; ///< Electron beam energy
325 
326  /// \name Main detector light yield
327  //@{
328  std::vector <float> fMD_LeftNbOfPEs;
329  std::vector <float> fMD_RightNbOfPEs;
330  std::vector <float> fMD_TotalNbOfPEs;
331  //@}
332 
333  /// \name Generic kinematic variables
334  //@{
335  double fHydrogenEnergyLoss; ///< Pre-scattering target energy loss assuming LH2 target
336  double fScatteringAngle; ///< Scattering angle
337  double fScatteringVertexZ; ///< Scattering vertex z position
338  double fScatteringVertexR; ///< Scattering vertex radial distance
342  TVector3 fVertexPosition; ///< Vertex position
343  TVector3 fVertexMomentum; ///< Vertex momentum
344  //@}
345 
346  /// \name Kinematics under various assumptions
347  //@{
348  QwKinematics fKin; ///< Inclusive scattering
349  QwKinematics fKinWithLoss; ///< Scattering with hydrogen energy loss
350  QwKinematics fKinElastic; ///< Scattering assuming elastic reaction
351  QwKinematics fKinElasticWithLoss; ///< Scattering assuming elastic reaction and hydrogen energy loss
352  //@}
353 
354  ///< Momentum transfer Q^2 assuming elastic scattering with hydrogen energy loss
355  Double_t fPrimaryQ2;
356 
357  /*! list of tree lines [upper/lower][region][u/v/x/y] */
359 
360  ClassDef(QwEvent,3);
361 
362 }; // class QwEvent
363 
364 #endif // QWEVENT_H
Double_t fPrimaryQ2
&lt; Momentum transfer Q^2 assuming elastic scattering with hydrogen energy loss
Definition: QwEvent.h:355
Int_t fNQwHits
Number of QwHits in the array.
Definition: QwEvent.h:168
Int_t GetNumberOfHits() const
Get the number of hits.
Definition: QwEvent.h:230
UInt_t GetEventType() const
Get the event type.
Definition: QwEvent.h:96
void AddTreeLine(const QwTreeLine *treeline)
Add an existing tree line as a copy.
Definition: QwEvent.cc:354
std::vector< float > fMD_TotalNbOfPEs
Definition: QwEvent.h:330
void ClearHits(Option_t *option="")
Clear the list of hits.
Definition: QwEvent.cc:289
ClassDef(QwKinematics, 1)
const QwEventHeader * GetEventHeader() const
Definition: QwEvent.h:192
std::vector< float > fMD_RightNbOfPEs
Definition: QwEvent.h:329
std::ostream & operator<<(std::ostream &out, const QwColor &color)
Output stream operator which uses the enum-to-escape-code mapping.
Definition: QwColor.h:153
const QwTreeLine * GetTreeLine(const int tl) const
Get the specified tree line.
Definition: QwEvent.cc:397
virtual ~QwKinematics()
Definition: QwEvent.h:133
void AddPartialTrackList(const std::vector< QwPartialTrack * > &partialtracklist)
Add a list of existing partial tracks as a copy.
Definition: QwEvent.cc:449
void ResetTracks(Option_t *option="")
Reset the list of tracks.
Definition: QwEvent.cc:539
std::vector< QwPartialTrack * > fQwPartialTracks
Array of QwPartialTracks.
Definition: QwEvent.h:177
Contains vertex information.
Definition: QwVertex.h:23
void AddHitContainer(const QwHitContainer *hitlist)
Add the hits in a hit container as a copy.
Definition: QwEvent.cc:322
const TVector3 & GetVertexMomentum() const
Definition: QwEvent.h:318
const std::vector< QwTreeLine * > & GetListOfTreeLines() const
Get the list of tree lines.
Definition: QwEvent.h:256
void SetRunNumber(const UInt_t runnumber)
Set the run number.
Definition: QwEvent.h:79
TVector3 fVertexPosition
Vertex position.
Definition: QwEvent.h:342
void AddTrack(const QwTrack *track)
Add an existing track as a copy.
Definition: QwEvent.cc:515
Int_t GetNumberOfTreeLines() const
Get the number of tree lines.
Definition: QwEvent.h:254
void SetEventHeader(const QwEventHeader &eventheader)
Definition: QwEvent.h:193
double EnergyLossHydrogen(const double vertex_z)
Calculate the energy loss in the hydrogen target.
Definition: QwEvent.cc:127
Contains header information of a tracked event.
Definition: QwEvent.h:37
double fScatteringAngle
Scattering angle.
Definition: QwEvent.h:336
double fW2
Invariant mass squared of the recoiling target system.
Definition: QwEvent.h:138
double fScatteringVertexR
Scattering vertex radial distance.
Definition: QwEvent.h:338
static double fBeamEnergy
Electron beam energy.
Definition: QwEvent.h:320
double fCrossSection
Definition: QwEvent.h:339
void ClearTracks(Option_t *option="")
Clear the list of tracks.
Definition: QwEvent.cc:530
UInt_t fRunNumber
Run number.
Definition: QwEvent.h:41
QwKinematics fKin
Inclusive scattering.
Definition: QwEvent.h:348
TVector3 fVertexMomentum
Vertex momentum.
Definition: QwEvent.h:343
ULong_t GetEventTime() const
Get the event time.
Definition: QwEvent.h:91
EQwDetectorPackage
Definition: QwTypes.h:70
Definition of the partial track class.
void SetEventNumber(const ULong_t eventnumber)
Set the event number.
Definition: QwEvent.h:84
std::vector< QwTrack * > fQwTracks
Array of QwTracks.
Definition: QwEvent.h:181
QwKinematics fKinElasticWithLoss
Scattering assuming elastic reaction and hydrogen energy loss.
Definition: QwEvent.h:351
Memory management structure to count objects.
Definition of the track class.
EQwHelicity GetBeamHelicity() const
Get the beam helicity.
Definition: QwEvent.h:106
double fP0
Incoming momentum .
Definition: QwEvent.h:133
const QwHit * GetHit(const int hit) const
Get the specified hit.
Definition: QwEvent.cc:304
QwEvent()
Default constructor.
Definition: QwEvent.cc:20
const std::vector< QwHit * > & GetListOfHits() const
Get the list of hits.
Definition: QwEvent.h:232
UInt_t GetEventTrigger() const
Get the event trigger.
Definition: QwEvent.h:101
Int_t fNQwTreeLines
Number of QwTreeLines in the array.
Definition: QwEvent.h:172
const TVector3 & GetVertexPosition() const
Definition: QwEvent.h:317
double fQ2
Four-momentum transfer squared .
Definition: QwEvent.h:137
void ResetPartialTracks(Option_t *option="")
Reset the list of partial tracks.
Definition: QwEvent.cc:466
Contains a tracked event, i.e. all information from hits to tracks.
Definition: QwEvent.h:156
Int_t GetNumberOfTracks() const
Get the number of tracks.
Definition: QwEvent.h:302
EQwRegionID
Definition: QwTypes.h:16
Int_t fNQwTracks
Number of QwTracks in the array.
Definition: QwEvent.h:180
void ResetHits(Option_t *option="")
Reset the list of hits.
Definition: QwEvent.cc:298
double fNu
Energy loss of the electron .
Definition: QwEvent.h:139
void AddTrackList(const std::vector< QwTrack * > &tracklist)
Add a list of existing partial tracks as a copy.
Definition: QwEvent.cc:522
QwHit * CreateNewHit()
Create a new hit.
Definition: QwEvent.cc:273
const QwPartialTrack * GetPartialTrack(const int pt) const
Get the specified partial track.
Definition: QwEvent.cc:472
double fPp
Outgoing momentum .
Definition: QwEvent.h:136
QwKinematics fKinWithLoss
Scattering with hydrogen energy loss.
Definition: QwEvent.h:349
std::vector< QwTreeLine * > fQwTreeLines
Array of QwTreeLines.
Definition: QwEvent.h:173
void Print(Option_t *option="") const
Print the event.
Definition: QwEvent.cc:246
void PrintTracks(Option_t *option="") const
Print the list of tracks.
Definition: QwEvent.cc:552
Memory management class to count object instantiations.
Contains the complete track as a concatenation of partial tracks.
Definition: QwTrack.h:30
double fScatteringVertexZ
Scattering vertex z position.
Definition: QwEvent.h:337
void SetEventTrigger(const UInt_t eventtrigger)
Set the event trigger.
Definition: QwEvent.h:99
Double_t GetScatteringVertexZ() const
Definition: QwEvent.h:320
void AddPartialTrack(const QwPartialTrack *partialtrack)
Add an existing partial track as a copy.
Definition: QwEvent.cc:442
QwPartialTrack * CreateNewPartialTrack()
Create a new partial track.
Definition: QwEvent.cc:434
void LoadBeamProperty(const TString &map)
Load the beam properties from a map file.
Definition: QwEvent.cc:99
QwKinematics()
Definition: QwEvent.h:131
void SetEventType(const UInt_t eventtype)
Set the event type.
Definition: QwEvent.h:94
UInt_t GetRunNumber() const
Get the run number.
Definition: QwEvent.h:81
const std::vector< QwTrack * > & GetListOfTracks() const
Get the list of tracks.
Definition: QwEvent.h:304
double fY
Fractional energy loss .
Definition: QwEvent.h:141
void Reset(Option_t *option="")
Definition: QwEvent.cc:86
const std::vector< QwPartialTrack * > & GetListOfPartialTracks() const
Get the list of partial tracks.
Definition: QwEvent.h:282
QwEventHeader()
Default constructor.
Definition: QwEvent.h:54
QwEventHeader * fEventHeader
Definition: QwEvent.h:161
QwEventHeader(const QwEventHeader &header)
Copy constructor.
Definition: QwEvent.h:64
double fOriginVertexEnergy
Definition: QwEvent.h:341
QwTrack * CreateNewTrack()
Create a new track.
Definition: QwEvent.cc:507
Int_t GetNumberOfPartialTracks() const
Get the number of partial tracks.
Definition: QwEvent.h:278
QwEventHeader(const UInt_t run, const ULong_t event)
Constructor with run and event number.
Definition: QwEvent.h:59
Definition of the one-dimensional track stubs.
double fPreScatteringEnergy
Definition: QwEvent.h:340
UInt_t fEventType
Event type (probably bit pattern)
Definition: QwEvent.h:46
std::vector< float > fMD_LeftNbOfPEs
Definition: QwEvent.h:328
ULong_t GetEventNumber() const
Get the event number.
Definition: QwEvent.h:86
void AddHit(const QwHit *hit)
Add an existing hit as a copy.
Definition: QwEvent.cc:281
QwHitContainer * GetHitContainer()
Get the list of hits as a hit container.
Definition: QwEvent.cc:332
One-dimensional (u, v, or x) track stubs and associated hits.
Definition: QwTreeLine.h:51
EQwHelicity
Helicity enumerator (don&#39;t use this as a signed int)
Definition: QwTypes.h:210
void SetEventTime(const ULong_t eventtime)
Set the event time.
Definition: QwEvent.h:89
const QwTrack * GetTrack(const int t) const
Get the specified track.
Definition: QwEvent.cc:545
double fHydrogenEnergyLoss
Pre-scattering target energy loss assuming LH2 target.
Definition: QwEvent.h:335
friend std::ostream & operator<<(std::ostream &stream, const QwEventHeader &h)
Output stream operator.
Definition: QwEvent.h:115
Kinematic variables.
Definition: QwEvent.h:129
void SetBeamHelicity(const EQwHelicity helicity)
Set the beam helicity.
Definition: QwEvent.h:104
UInt_t fEventTrigger
Event trigger (probably bit pattern)
Definition: QwEvent.h:47
Double_t GetScatteringAngle() const
Definition: QwEvent.h:319
ULong_t fEventNumber
Event number.
Definition: QwEvent.h:43
ClassDef(QwEvent, 3)
EQwDirectionID
Definition: QwTypes.h:41
EQwHelicity fBeamHelicity
Beam helicity (from MPS pattern phase)
Definition: QwEvent.h:49
void Clear(Option_t *option="")
Definition: QwEvent.cc:77
void CalculateKinematics(const QwTrack *track)
Calculate the kinematic variables for a given track.
Definition: QwEvent.cc:161
void PrintHits(Option_t *option="") const
Print the list of hits.
Definition: QwEvent.cc:311
void SetEventHeader(const QwEventHeader *eventheader)
Definition: QwEvent.h:197
void ClearPartialTracks(Option_t *option="")
Clear the list of partial tracks.
Definition: QwEvent.cc:457
double fX
Bjorken-x scaling variable .
Definition: QwEvent.h:140
Int_t fNQwPartialTracks
Number of QwPartialTracks in the array.
Definition: QwEvent.h:176
Hit structure uniquely defining each hit.
Definition: QwHit.h:43
void AddTreeLineList(const QwTreeLine *treelinelist)
Add a list of existing tree lines as a copy.
Definition: QwEvent.cc:361
virtual ~QwEventHeader()
Destructor.
Definition: QwEvent.h:76
QwTreeLine * fTreeLine[kNumPackages][kNumRegions][kNumDirections]
Definition: QwEvent.h:358
ULong_t fEventTime
Event time (unix time? some time in boost?)
Definition: QwEvent.h:44
void ClearTreeLines(Option_t *option="")
Clear the list of tree lines.
Definition: QwEvent.cc:380
void ResetTreeLines(Option_t *option="")
Reset the list of tree lines.
Definition: QwEvent.cc:391
void PrintTreeLines(Option_t *option="") const
Print the list of tree lines.
Definition: QwEvent.cc:404
virtual ~QwEvent()
Virtual destructor.
Definition: QwEvent.cc:48
Contains the straight part of a track in one region only.
std::vector< QwHit * > fQwHits
Array of QwHits.
Definition: QwEvent.h:169
void PrintPartialTracks(Option_t *option="") const
Print the list of partial tracks.
Definition: QwEvent.cc:479
QwKinematics fKinElastic
Scattering assuming elastic reaction.
Definition: QwEvent.h:350
QwTreeLine * CreateNewTreeLine()
Create a new tree line.
Definition: QwEvent.cc:346
ClassDef(QwEventHeader, 1)