10 #include "TClonesArray.h"
11 #include "TRefArray.h"
12 #include "TObjArray.h"
163 #define QWTREELINES_IN_STL_VECTOR
164 #define QWPARTIALTRACKS_IN_STL_VECTOR
165 #define QWTRACKS_IN_STL_VECTOR
212 void Clear(Option_t *option =
"");
213 void Reset(Option_t *option =
"");
236 void PrintHits(Option_t* option =
"")
const;
296 void AddTrackList(
const std::vector<QwTrack*>& tracklist);
315 void Print(Option_t* option =
"")
const;
Double_t fPrimaryQ2
< Momentum transfer Q^2 assuming elastic scattering with hydrogen energy loss
Int_t fNQwHits
Number of QwHits in the array.
Int_t GetNumberOfHits() const
Get the number of hits.
UInt_t GetEventType() const
Get the event type.
void AddTreeLine(const QwTreeLine *treeline)
Add an existing tree line as a copy.
std::vector< float > fMD_TotalNbOfPEs
void ClearHits(Option_t *option="")
Clear the list of hits.
ClassDef(QwKinematics, 1)
const QwEventHeader * GetEventHeader() const
std::vector< float > fMD_RightNbOfPEs
std::ostream & operator<<(std::ostream &out, const QwColor &color)
Output stream operator which uses the enum-to-escape-code mapping.
const QwTreeLine * GetTreeLine(const int tl) const
Get the specified tree line.
void AddPartialTrackList(const std::vector< QwPartialTrack * > &partialtracklist)
Add a list of existing partial tracks as a copy.
void ResetTracks(Option_t *option="")
Reset the list of tracks.
std::vector< QwPartialTrack * > fQwPartialTracks
Array of QwPartialTracks.
Contains vertex information.
void AddHitContainer(const QwHitContainer *hitlist)
Add the hits in a hit container as a copy.
const TVector3 & GetVertexMomentum() const
const std::vector< QwTreeLine * > & GetListOfTreeLines() const
Get the list of tree lines.
void SetRunNumber(const UInt_t runnumber)
Set the run number.
TVector3 fVertexPosition
Vertex position.
void AddTrack(const QwTrack *track)
Add an existing track as a copy.
Int_t GetNumberOfTreeLines() const
Get the number of tree lines.
void SetEventHeader(const QwEventHeader &eventheader)
double EnergyLossHydrogen(const double vertex_z)
Calculate the energy loss in the hydrogen target.
Contains header information of a tracked event.
double fScatteringAngle
Scattering angle.
double fW2
Invariant mass squared of the recoiling target system.
double fScatteringVertexR
Scattering vertex radial distance.
static double fBeamEnergy
Electron beam energy.
void ClearTracks(Option_t *option="")
Clear the list of tracks.
UInt_t fRunNumber
Run number.
QwKinematics fKin
Inclusive scattering.
TVector3 fVertexMomentum
Vertex momentum.
ULong_t GetEventTime() const
Get the event time.
Definition of the partial track class.
void SetEventNumber(const ULong_t eventnumber)
Set the event number.
std::vector< QwTrack * > fQwTracks
Array of QwTracks.
QwKinematics fKinElasticWithLoss
Scattering assuming elastic reaction and hydrogen energy loss.
Memory management structure to count objects.
Definition of the track class.
EQwHelicity GetBeamHelicity() const
Get the beam helicity.
double fP0
Incoming momentum .
const QwHit * GetHit(const int hit) const
Get the specified hit.
QwEvent()
Default constructor.
const std::vector< QwHit * > & GetListOfHits() const
Get the list of hits.
UInt_t GetEventTrigger() const
Get the event trigger.
Int_t fNQwTreeLines
Number of QwTreeLines in the array.
const TVector3 & GetVertexPosition() const
double fQ2
Four-momentum transfer squared .
void ResetPartialTracks(Option_t *option="")
Reset the list of partial tracks.
Contains a tracked event, i.e. all information from hits to tracks.
Int_t GetNumberOfTracks() const
Get the number of tracks.
Int_t fNQwTracks
Number of QwTracks in the array.
void ResetHits(Option_t *option="")
Reset the list of hits.
double fNu
Energy loss of the electron .
void AddTrackList(const std::vector< QwTrack * > &tracklist)
Add a list of existing partial tracks as a copy.
QwHit * CreateNewHit()
Create a new hit.
const QwPartialTrack * GetPartialTrack(const int pt) const
Get the specified partial track.
double fPp
Outgoing momentum .
QwKinematics fKinWithLoss
Scattering with hydrogen energy loss.
std::vector< QwTreeLine * > fQwTreeLines
Array of QwTreeLines.
void Print(Option_t *option="") const
Print the event.
void PrintTracks(Option_t *option="") const
Print the list of tracks.
Memory management class to count object instantiations.
Contains the complete track as a concatenation of partial tracks.
double fScatteringVertexZ
Scattering vertex z position.
void SetEventTrigger(const UInt_t eventtrigger)
Set the event trigger.
Double_t GetScatteringVertexZ() const
void AddPartialTrack(const QwPartialTrack *partialtrack)
Add an existing partial track as a copy.
QwPartialTrack * CreateNewPartialTrack()
Create a new partial track.
void LoadBeamProperty(const TString &map)
Load the beam properties from a map file.
void SetEventType(const UInt_t eventtype)
Set the event type.
UInt_t GetRunNumber() const
Get the run number.
const std::vector< QwTrack * > & GetListOfTracks() const
Get the list of tracks.
double fY
Fractional energy loss .
void Reset(Option_t *option="")
const std::vector< QwPartialTrack * > & GetListOfPartialTracks() const
Get the list of partial tracks.
QwEventHeader()
Default constructor.
QwEventHeader * fEventHeader
QwEventHeader(const QwEventHeader &header)
Copy constructor.
double fOriginVertexEnergy
QwTrack * CreateNewTrack()
Create a new track.
Int_t GetNumberOfPartialTracks() const
Get the number of partial tracks.
QwEventHeader(const UInt_t run, const ULong_t event)
Constructor with run and event number.
Definition of the one-dimensional track stubs.
double fPreScatteringEnergy
UInt_t fEventType
Event type (probably bit pattern)
std::vector< float > fMD_LeftNbOfPEs
ULong_t GetEventNumber() const
Get the event number.
void AddHit(const QwHit *hit)
Add an existing hit as a copy.
QwHitContainer * GetHitContainer()
Get the list of hits as a hit container.
One-dimensional (u, v, or x) track stubs and associated hits.
EQwHelicity
Helicity enumerator (don't use this as a signed int)
void SetEventTime(const ULong_t eventtime)
Set the event time.
const QwTrack * GetTrack(const int t) const
Get the specified track.
double fHydrogenEnergyLoss
Pre-scattering target energy loss assuming LH2 target.
friend std::ostream & operator<<(std::ostream &stream, const QwEventHeader &h)
Output stream operator.
void SetBeamHelicity(const EQwHelicity helicity)
Set the beam helicity.
UInt_t fEventTrigger
Event trigger (probably bit pattern)
Double_t GetScatteringAngle() const
ULong_t fEventNumber
Event number.
EQwHelicity fBeamHelicity
Beam helicity (from MPS pattern phase)
void Clear(Option_t *option="")
void CalculateKinematics(const QwTrack *track)
Calculate the kinematic variables for a given track.
void PrintHits(Option_t *option="") const
Print the list of hits.
void SetEventHeader(const QwEventHeader *eventheader)
void ClearPartialTracks(Option_t *option="")
Clear the list of partial tracks.
double fX
Bjorken-x scaling variable .
Int_t fNQwPartialTracks
Number of QwPartialTracks in the array.
Hit structure uniquely defining each hit.
void AddTreeLineList(const QwTreeLine *treelinelist)
Add a list of existing tree lines as a copy.
virtual ~QwEventHeader()
Destructor.
QwTreeLine * fTreeLine[kNumPackages][kNumRegions][kNumDirections]
ULong_t fEventTime
Event time (unix time? some time in boost?)
void ClearTreeLines(Option_t *option="")
Clear the list of tree lines.
void ResetTreeLines(Option_t *option="")
Reset the list of tree lines.
void PrintTreeLines(Option_t *option="") const
Print the list of tree lines.
virtual ~QwEvent()
Virtual destructor.
Contains the straight part of a track in one region only.
std::vector< QwHit * > fQwHits
Array of QwHits.
void PrintPartialTracks(Option_t *option="") const
Print the list of partial tracks.
QwKinematics fKinElastic
Scattering assuming elastic reaction.
QwTreeLine * CreateNewTreeLine()
Create a new tree line.
ClassDef(QwEventHeader, 1)