eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
erhic::Pythia6EventBuilder Class Reference

Interface to PYTHIA 6. More...

#include <Pythia6EventBuilder.h>

Inheritance diagram for erhic::Pythia6EventBuilder:
erhic::VirtualEventFactory

Public Member Functions

 Pythia6EventBuilder (EventMCFilterABC *=NULL)
 Constructor. More...
 
virtual ~Pythia6EventBuilder ()
 Destructor. More...
 
virtual EventPythiaCreate ()
 Generates an event from the current state of ROOT::TPythia6. More...
 
virtual std::string EventName () const
 Returns a string with the full (including namespace) class name of the event type produced. More...
 
virtual TBranch * Branch (TTree &, const std::string &)
 Add a branch named "name" for the event type generated by this factory to a ROOT TTree. More...
 
virtual void Fill (TBranch &)
 Calls Create() to generate an event and fills the provided branch with that event. More...
 
- Public Member Functions inherited from erhic::VirtualEventFactory
virtual ~VirtualEventFactory ()
 Destructor. More...
 
virtual VirtualEventGetEvBufferPtr ()
 Returns a pointer to the event buffer. More...
 

Protected Member Functions

EventPythiaBuildEvent ()
 

Protected Attributes

Long64_t mNGenerated
 
Long64_t mNTrials
 
EventMCFilterABCmFilter
 
EventPythiamEvent
 

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.

Constructor & Destructor Documentation

◆ Pythia6EventBuilder()

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.

◆ ~Pythia6EventBuilder()

erhic::Pythia6EventBuilder::~Pythia6EventBuilder ( )
virtual

Destructor.

Definition at line 40 of file Pythia6EventBuilder.cxx.

Member Function Documentation

◆ Branch()

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.

◆ BuildEvent()

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

Definition at line 55 of file Pythia6EventBuilder.cxx.

◆ Create()

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.

◆ EventName()

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.

◆ Fill()

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.

Member Data Documentation

◆ mEvent

EventPythia* erhic::Pythia6EventBuilder::mEvent
protected

Definition at line 66 of file Pythia6EventBuilder.h.

◆ mFilter

EventMCFilterABC* erhic::Pythia6EventBuilder::mFilter
protected

Definition at line 65 of file Pythia6EventBuilder.h.

◆ mNGenerated

Long64_t erhic::Pythia6EventBuilder::mNGenerated
protected

Definition at line 63 of file Pythia6EventBuilder.h.

◆ mNTrials

Long64_t erhic::Pythia6EventBuilder::mNTrials
protected

Definition at line 64 of file Pythia6EventBuilder.h.


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