EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
erhic::Pythia6EventBuilder Class Reference

#include <eic-smear/blob/master/include/eicsmear/erhic/Pythia6EventBuilder.h>

+ Inheritance diagram for erhic::Pythia6EventBuilder:
+ Collaboration diagram for erhic::Pythia6EventBuilder:

Public Member Functions

 Pythia6EventBuilder (EventMCFilterABC *=NULL)
 
virtual ~Pythia6EventBuilder ()
 
virtual EventPythiaCreate ()
 
virtual std::string EventName () const
 
virtual TBranch * Branch (TTree &, const std::string &)
 
virtual void Fill (TBranch &)
 
- Public Member Functions inherited from erhic::VirtualEventFactory
virtual ~VirtualEventFactory ()
 
virtual VirtualEventGetEvBufferPtr ()
 
virtual void FindFirstEvent ()
 

Protected Member Functions

EventPythiaBuildEvent ()
 

Protected Attributes

Long64_t mNGenerated
 
Long64_t mNTrials
 
EventMCFilterABCmFilter
 
EventPythiamEvent
 

Additional Inherited Members

- Public Types inherited from erhic::VirtualEventFactory
typedef std::pair< TString,
TObject * > 
NamedObjects
 
- Public Attributes inherited from erhic::VirtualEventFactory
std::vector< NamedObjectsmObjectsToWriteAtTheEnd
 
std::map< std::string,
std::string > 
mAdditionalInformation
 

Detailed Description

Interface to PYTHIA 6. Builds EventPythia objects directly from PYTHIA output, without an intermediate text file. Configure PYTHIA options via the ROOT::TPythia6 class.

Remarks
The following fields in EventPythia are not set: F1, F2, R, sigma_rad, SigRadCor, EBrems

Definition at line 32 of file Pythia6EventBuilder.h.

View newest version in sPHENIX GitHub at line 32 of file Pythia6EventBuilder.h

Constructor & Destructor Documentation

erhic::Pythia6EventBuilder::Pythia6EventBuilder ( EventMCFilterABC filter = NULL)
explicit

Constructor. If a filter is provided, it will be applied so that all events yielded by Create() pass the filter. The filter should be allocated via new and is subsequently owned and deleted by the Pythia6EventBuilder.

Definition at line 33 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 33 of file Pythia6EventBuilder.cxx

erhic::Pythia6EventBuilder::~Pythia6EventBuilder ( )
virtual

Destructor

Definition at line 40 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 40 of file Pythia6EventBuilder.cxx

References mFilter.

Member Function Documentation

TBranch * erhic::Pythia6EventBuilder::Branch ( TTree &  ,
const std::string &   
)
virtual

Add a branch named "name" for the event type generated by this factory to a ROOT TTree. Returns a pointer to the branch, or NULL in the case of an error.

Reimplemented from erhic::VirtualEventFactory.

Definition at line 161 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 161 of file Pythia6EventBuilder.cxx

References EventName().

+ Here is the call graph for this function:

EventPythia * erhic::Pythia6EventBuilder::BuildEvent ( )
protected

Definition at line 55 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 55 of file Pythia6EventBuilder.cxx

References BeamParticles::BeamHadron(), BeamParticles::BeamLepton(), erhic::LeptonKinematicsComputer::Calculate(), erhic::JacquetBlondelComputer::Calculate(), erhic::DoubleAngleComputer::Calculate(), erhic::Pythia6ParticleBuilder::Create(), Acts::UnitConstants::h, ParticleIdentifier::IdentifyBeams(), mNTrials, Acts::UnitConstants::nm, p, particle, Acts::UnitConstants::s, BeamParticles::ScatteredLepton(), x, and y.

Referenced by Create().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventPythia * erhic::Pythia6EventBuilder::Create ( )
virtual

Generates an event from the current state of ROOT::TPythia6. The returned event is dynamically allocated and must be deleted by the user.

Implements erhic::VirtualEventFactory.

Definition at line 45 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 45 of file Pythia6EventBuilder.cxx

References erhic::EventMCFilterABC::Accept(), BuildEvent(), and mFilter.

Referenced by Fill().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string erhic::Pythia6EventBuilder::EventName ( ) const
virtual

Returns a string with the full (including namespace) class name of the event type produced. This is important for use with ROOT TTree to ensure the correct event type in branches.

Implements erhic::VirtualEventFactory.

Definition at line 157 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 157 of file Pythia6EventBuilder.cxx

Referenced by Branch().

+ Here is the caller graph for this function:

void erhic::Pythia6EventBuilder::Fill ( TBranch &  )
virtual

Calls Create() to generate an event and fills the provided branch with that event. Resets the branch address in doing so.

Reimplemented from erhic::VirtualEventFactory.

Definition at line 169 of file Pythia6EventBuilder.cxx.

View newest version in sPHENIX GitHub at line 169 of file Pythia6EventBuilder.cxx

References Create(), and mEvent.

+ Here is the call graph for this function:

Member Data Documentation

EventPythia* erhic::Pythia6EventBuilder::mEvent
protected

Definition at line 66 of file Pythia6EventBuilder.h.

View newest version in sPHENIX GitHub at line 66 of file Pythia6EventBuilder.h

Referenced by Fill().

EventMCFilterABC* erhic::Pythia6EventBuilder::mFilter
protected

Definition at line 65 of file Pythia6EventBuilder.h.

View newest version in sPHENIX GitHub at line 65 of file Pythia6EventBuilder.h

Referenced by Create(), and ~Pythia6EventBuilder().

Long64_t erhic::Pythia6EventBuilder::mNGenerated
protected

Definition at line 63 of file Pythia6EventBuilder.h.

View newest version in sPHENIX GitHub at line 63 of file Pythia6EventBuilder.h

Long64_t erhic::Pythia6EventBuilder::mNTrials
protected

Definition at line 64 of file Pythia6EventBuilder.h.

View newest version in sPHENIX GitHub at line 64 of file Pythia6EventBuilder.h

Referenced by BuildEvent().


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