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
Pythia6EventFactory.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_HADRONIC_PYTHIA6EVENTFACTORY_H_
11 #define INCLUDE_EICSMEAR_HADRONIC_PYTHIA6EVENTFACTORY_H_
12 
13 #include <memory>
14 #include <string>
15 
16 #include <Rtypes.h> // For ClassDef macro
17 
21 
22 class TBranch;
23 
24 namespace erhic {
25 namespace hadronic {
26 
32  public:
36  virtual ~Pythia6EventFactory();
37 
41  explicit Pythia6EventFactory(EventMCFilterABC* filter);
42 
46  virtual EventPythiaPP* Create();
47 
51  virtual std::string EventName() const;
52 
56  virtual TBranch* Branch(TTree& tree, const std::string& branchName);
57 
61  virtual void Fill(TBranch&);
62 
63  protected:
67  virtual EventPythiaPP* BuildEvent();
68 
69  std::auto_ptr<erhic::EventMCFilterABC> mFilter;
71 
73 };
74 
75 } // namespace hadronic
76 } // namespace erhic
77 
78 #endif // INCLUDE_EICSMEAR_HADRONIC_PYTHIA6EVENTFACTORY_H_
erhic
Definition: EventDis.cxx:14
erhic::hadronic::Pythia6EventFactory
A realisation of erhic::VirtualEventFactory generating objects of type hadronic::EventPythiaPP.
Definition: Pythia6EventFactory.h:31
tree
Definition: tree.py:1
erhic::hadronic::Pythia6EventFactory::Create
virtual EventPythiaPP * Create()
Returns a new event instance.
Definition: Pythia6EventFactory.cxx:36
erhic::hadronic::Pythia6EventFactory::EventName
virtual std::string EventName() const
Returns the name of the event class created by this factory.
Definition: Pythia6EventFactory.cxx:80
erhic::hadronic::Pythia6EventFactory::Branch
virtual TBranch * Branch(TTree &tree, const std::string &branchName)
Create a new branch on a tree.
Definition: Pythia6EventFactory.cxx:84
erhic::hadronic::Pythia6EventFactory::Fill
virtual void Fill(TBranch &)
Fill a tree branch with the current event.
Definition: Pythia6EventFactory.cxx:92
EventPythia.h
erhic::EventMCFilterABC
Abstract base class for a filter on Monte Carlo events.
Definition: EventMCFilterABC.h:22
EventMCFilterABC.h
erhic::hadronic::Pythia6EventFactory::mFilter
std::auto_ptr< erhic::EventMCFilterABC > mFilter
Definition: Pythia6EventFactory.h:69
erhic::hadronic::EventPythiaPP
Definition: hadronic/EventPythia.h:20
erhic::hadronic::Pythia6EventFactory::~Pythia6EventFactory
virtual ~Pythia6EventFactory()
Destructor.
Definition: Pythia6EventFactory.cxx:28
erhic::VirtualEventFactory
Abstract base class for event builders.
Definition: erhic/EventFactory.h:35
erhic::hadronic::Pythia6EventFactory::mEvent
EventPythiaPP * mEvent
Definition: Pythia6EventFactory.h:70
EventFactory.h
erhic::hadronic::Pythia6EventFactory::Pythia6EventFactory
Pythia6EventFactory(EventMCFilterABC *filter)
Constructor.
Definition: Pythia6EventFactory.cxx:31
erhic::hadronic::Pythia6EventFactory::BuildEvent
virtual EventPythiaPP * BuildEvent()
Construct an event from the current state of TPythia6.
Definition: Pythia6EventFactory.cxx:46