File indexing completed on 2024-11-16 09:02:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef INCLUDE_EICSMEAR_ERHIC_PYTHIA6EVENTBUILDER_H_
0011 #define INCLUDE_EICSMEAR_ERHIC_PYTHIA6EVENTBUILDER_H_
0012
0013 #include <string>
0014
0015 #include <Rtypes.h> // For ClassDef macro
0016
0017 #include "eicsmear/erhic/EventFactory.h"
0018
0019 namespace erhic {
0020
0021 class EventMCFilterABC;
0022 class EventPythia;
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 class Pythia6EventBuilder : public VirtualEventFactory {
0033 public:
0034
0035
0036
0037
0038
0039
0040
0041 explicit Pythia6EventBuilder(EventMCFilterABC* = NULL);
0042
0043
0044
0045
0046 virtual ~Pythia6EventBuilder();
0047
0048
0049
0050
0051
0052
0053 virtual EventPythia* Create();
0054
0055 virtual std::string EventName() const;
0056
0057 virtual TBranch* Branch(TTree&, const std::string&);
0058
0059 virtual void Fill(TBranch&);
0060
0061 protected:
0062 EventPythia* BuildEvent();
0063 Long64_t mNGenerated;
0064 Long64_t mNTrials;
0065 EventMCFilterABC* mFilter;
0066 EventPythia* mEvent;
0067
0068 ClassDef(erhic::Pythia6EventBuilder, 1)
0069 };
0070
0071 }
0072
0073 #endif