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
|
Go to the documentation of this file.
10 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTFACTORY_H_
11 #define INCLUDE_EICSMEAR_ERHIC_EVENTFACTORY_H_
58 virtual std::string
EventName()
const = 0;
65 virtual TBranch*
Branch(TTree&,
const std::string&) {
73 virtual void Fill(TBranch&) { }
143 #endif // INCLUDE_EICSMEAR_ERHIC_EVENTFACTORY_H_
Creates events from an input plain text file containing appropriately formatted data.
virtual std::string EventName() const =0
Returns a string with the full (including namespace) class name of the event type produced.
Abstract base class for a physics event.
virtual std::string EventName() const
Returns the name of the event class created by this factory.
bool AtEndOfEvent() const
Returns true when an end-of-event marker is encountered in the input stream.
EventFromAsciiFactory()
Constructor.
Abstract base class for event builders.
bool AddParticle()
Create a new particle from the last data read from the input stream.
virtual ~EventFromAsciiFactory()
Destructor.
virtual VirtualEvent * Create()=0
Returns a new event instance.
virtual TBranch * Branch(TTree &, const std::string &)
Add a branch named "name" for the event type generated by this factory to a ROOT TTree.
Int_t FinishEvent()
Perform end-of-event operations.
virtual T * Create()
Returns a new event instance.
virtual VirtualEvent * GetEvBufferPtr()
Returns a pointer to the event buffer.
EventFromAsciiFactory(std::istream &is)
Initialise the factory from an input stream.
virtual void Fill(TBranch &)
Calls Create() to generate an event and fills the provided branch with that event.
std::auto_ptr< T > mEvent
virtual ~VirtualEventFactory()
Destructor.