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;
70  EventPythiaPP* mEvent;
71 
73 };
74 
75 } // namespace hadronic
76 } // namespace erhic
77 
78 #endif // INCLUDE_EICSMEAR_HADRONIC_PYTHIA6EVENTFACTORY_H_
virtual std::string EventName() const
virtual TBranch * Branch(TTree &tree, const std::string &branchName)
Pythia6EventFactory(EventMCFilterABC *filter)