GENIEGenerator
Loading...
Searching...
No Matches
genie::EventRecord Class Reference

Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI objects (event generation modules). All the other important container manipulation methods are defined at the base GHepRecord record. More...

#include <EventRecord.h>

Inheritance diagram for genie::EventRecord:
[legend]
Collaboration diagram for genie::EventRecord:
[legend]

Public Member Functions

 EventRecord ()
 EventRecord (int size)
 EventRecord (const EventRecord &record)
 ~EventRecord ()
void AcceptVisitor (EventRecordVisitorI *visitor)
virtual void Copy (const EventRecord &record)
virtual void Print (ostream &stream) const
virtual void Copy (const GHepRecord &record)
Public Member Functions inherited from genie::GHepRecord
 GHepRecord ()
 GHepRecord (int size)
 GHepRecord (const GHepRecord &record)
 GHepRecord (TRootIOCtor *)
virtual ~GHepRecord ()
virtual InteractionSummary (void) const
virtual void AttachSummary (Interaction *interaction)
virtual void AddParticle (const GHepParticle &p)
virtual void AddParticle (int pdg, GHepStatus_t ist, int mom1, int mom2, int dau1, int dau2, const TLorentzVector &p, const TLorentzVector &v)
virtual void AddParticle (int pdg, GHepStatus_t ist, int mom1, int mom2, int dau1, int dau2, double px, double py, double pz, double E, double x, double y, double z, double t)
virtual GHepParticleParticle (int position) const
virtual GHepParticleFindParticle (int pdg, GHepStatus_t ist, int start) const
virtual int ParticlePosition (int pdg, GHepStatus_t i, int start=0) const
virtual int ParticlePosition (GHepParticle *particle, int start=0) const
virtual vector< int > * GetStableDescendants (int position) const
GEvGenMode_t EventGenerationMode (void) const
virtual GHepParticleProbe (void) const
virtual GHepParticleTargetNucleus (void) const
virtual GHepParticleRemnantNucleus (void) const
virtual GHepParticleHitNucleon (void) const
virtual GHepParticleHitElectron (void) const
virtual GHepParticleFinalStatePrimaryLepton (void) const
virtual GHepParticleFinalStateHadronicSystem (void) const
virtual int ProbePosition (void) const
virtual int TargetNucleusPosition (void) const
virtual int RemnantNucleusPosition (void) const
virtual int HitNucleonPosition (void) const
virtual int HitElectronPosition (void) const
virtual int FinalStatePrimaryLeptonPosition (void) const
virtual int FinalStateHadronicSystemPosition (void) const
virtual unsigned int NEntries (int pdg, GHepStatus_t ist, int start=0) const
virtual unsigned int NEntries (int pdg, int start=0) const
virtual TBits * EventFlags (void) const
virtual TBits * EventMask (void) const
virtual bool IsUnphysical (void) const
virtual bool Accept (void) const
virtual double Weight (void) const
virtual double Probability (void) const
virtual double XSec (void) const
virtual double DiffXSec (void) const
virtual KinePhaseSpace_t DiffXSecVars (void) const
virtual void SetWeight (double wght)
virtual void SetProbability (double prob)
virtual void SetXSec (double xsec)
virtual void SetDiffXSec (double xsec, KinePhaseSpace_t ps)
virtual TLorentzVector * Vertex (void) const
virtual void SetVertex (double x, double y, double z, double t)
virtual void SetVertex (const TLorentzVector &vtx)
virtual void Clear (Option_t *opt="")
virtual void ResetRecord (void)
virtual void CompactifyDaughterLists (void)
virtual void RemoveIntermediateParticles (void)
void SetUnphysEventMask (const TBits &mask)
void Print (ostream &stream) const

Friends

ostream & operator<< (ostream &stream, const EventRecord &event)

Additional Inherited Members

Static Public Member Functions inherited from genie::GHepRecord
static void SetPrintLevel (int print_level)
static int GetPrintLevel ()
Protected Member Functions inherited from genie::GHepRecord
void InitRecord (void)
void CleanRecord (void)
virtual void UpdateDaughterLists (void)
virtual bool HasCompactDaughterList (int pos)
virtual void SwapParticles (int i, int j)
virtual void FinalizeDaughterLists (void)
virtual int FirstNonInitStateEntry (void)
Protected Attributes inherited from genie::GHepRecord
InteractionfInteraction
 attached summary information
TLorentzVector * fVtx
 vertex in the detector coordinate system
TBits * fEventFlags
 event flags indicating various pathologies or an unphysical event
TBits * fEventMask
 an input bit-field mask allowing one to ignore bits set in fEventFlags
double fWeight
 event weight
double fProb
 event probability (for given flux neutrino and density-weighted path-length for target element)
double fXSec
 cross section for selected event
double fDiffXSec
 differential cross section for selected event kinematics
KinePhaseSpace_t fDiffXSecPhSp
 specifies which differential cross-section (dsig/dQ2, dsig/dQ2dW, dsig/dxdy,...)
Static Protected Attributes inherited from genie::GHepRecord
static int fPrintLevel

Detailed Description

Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI objects (event generation modules). All the other important container manipulation methods are defined at the base GHepRecord record.

Author
Costas Andreopoulos <c.andreopoulos \at cern.ch> University of Liverpool
Created:\n October 1, 2004
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org

Definition at line 37 of file EventRecord.h.

Constructor & Destructor Documentation

◆ EventRecord() [1/3]

EventRecord::EventRecord ( )

Definition at line 30 of file EventRecord.cxx.

30 :
32{
33
34}

References genie::GHepRecord::GHepRecord().

Referenced by Copy(), EventRecord(), and operator<<.

◆ EventRecord() [2/3]

EventRecord::EventRecord ( int size)

Definition at line 36 of file EventRecord.cxx.

36 :
37GHepRecord(size)
38{
39
40}

References genie::GHepRecord::GHepRecord().

◆ EventRecord() [3/3]

EventRecord::EventRecord ( const EventRecord & record)

Definition at line 42 of file EventRecord.cxx.

42 :
43GHepRecord(record)
44{
45
46}

References EventRecord(), and genie::GHepRecord::GHepRecord().

◆ ~EventRecord()

EventRecord::~EventRecord ( )

Definition at line 48 of file EventRecord.cxx.

49{
50
51}

Member Function Documentation

◆ AcceptVisitor()

void EventRecord::AcceptVisitor ( EventRecordVisitorI * visitor)

Definition at line 53 of file EventRecord.cxx.

54{
55 visitor->ProcessEventRecord(this);
56}
virtual void ProcessEventRecord(GHepRecord *event_rec) const =0

References genie::EventRecordVisitorI::ProcessEventRecord().

◆ Copy() [1/2]

void EventRecord::Copy ( const EventRecord & record)
virtual

Definition at line 58 of file EventRecord.cxx.

59{
60 try {
61 const GHepRecord & ghep = dynamic_cast<const GHepRecord &>(record);
62
63 GHepRecord::Copy(ghep);
64
65 } catch( std::bad_cast ) {
66 LOG("EventRecord", pERROR)
67 << "Bad casting to 'const GHepRecord &'. Can not copy EventRecord";
68 }
69}
#define pERROR
Definition Messenger.h:59
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
virtual void Copy(const GHepRecord &record)

References genie::GHepRecord::Copy(), EventRecord(), genie::GHepRecord::GHepRecord(), LOG, and pERROR.

◆ Copy() [2/2]

void GHepRecord::Copy ( const GHepRecord & record)
virtual

Reimplemented from genie::GHepRecord.

Definition at line 147 of file GHepRecord.cxx.

908{
909 // clean up
910 this->ResetRecord();
911
912 // copy event record entries
913 unsigned int ientry = 0;
914 GHepParticle * p = 0;
915 TIter ghepiter(&record);
916 while ( (p = (GHepParticle *) ghepiter.Next()) )
917 new ( (*this)[ientry++] ) GHepParticle(*p);
918
919 // copy summary
920 fInteraction = new Interaction( *record.fInteraction );
921
922 // copy flags & mask
923 *fEventFlags = *(record.EventFlags());
924 *fEventMask = *(record.EventMask());
925
926 // copy vtx position
927 TLorentzVector * v = record.Vertex();
928 fVtx->SetXYZT(v->X(),v->Y(),v->Z(),v->T());
929
930 // copy weights & xsecs
931 fWeight = record.fWeight;
932 fProb = record.fProb;
933 fXSec = record.fXSec;
934 fDiffXSec = record.fDiffXSec;
936}
double fProb
event probability (for given flux neutrino and density-weighted path-length for target element)
Definition GHepRecord.h:179
TLorentzVector * fVtx
vertex in the detector coordinate system
Definition GHepRecord.h:171
KinePhaseSpace_t fDiffXSecPhSp
specifies which differential cross-section (dsig/dQ2, dsig/dQ2dW, dsig/dxdy,...)
Definition GHepRecord.h:182
double fDiffXSec
differential cross section for selected event kinematics
Definition GHepRecord.h:181
virtual void ResetRecord(void)
Interaction * fInteraction
attached summary information
Definition GHepRecord.h:168
TBits * fEventFlags
event flags indicating various pathologies or an unphysical event
Definition GHepRecord.h:174
virtual TBits * EventFlags(void) const
Definition GHepRecord.h:117
virtual TBits * EventMask(void) const
Definition GHepRecord.h:118
double fWeight
event weight
Definition GHepRecord.h:178
TBits * fEventMask
an input bit-field mask allowing one to ignore bits set in fEventFlags
Definition GHepRecord.h:175
virtual TLorentzVector * Vertex(void) const
Definition GHepRecord.h:140
double fXSec
cross section for selected event
Definition GHepRecord.h:180

◆ Print()

void EventRecord::Print ( ostream & stream) const
virtual

Definition at line 71 of file EventRecord.cxx.

72{
73 GHepRecord::Print(stream);
74}
void Print(ostream &stream) const

References genie::GHepRecord::Print().

Referenced by ClassImp().

◆ operator<<

ostream & operator<< ( ostream & stream,
const EventRecord & event )
friend

References EventRecord().


The documentation for this class was generated from the following files: