ThePEG  1.8.0
RivetAnalysis.h
1 // -*- C++ -*-
2 #ifndef THEPEG_RivetAnalysis_H
3 #define THEPEG_RivetAnalysis_H
4 //
5 // This is the declaration of the RivetAnalysis class.
6 //
7 
8 #include "ThePEG/Handlers/AnalysisHandler.h"
9 #include "Rivet/AnalysisHandler.hh"
10 
11 namespace ThePEG {
12 
20 
21 public:
22 
26  RivetAnalysis();
27 
28 public:
29 
49  virtual void analyze(ThePEG::tEventPtr event, long ieve, int loop, int state);
51 
52 public:
53 
61 
67  void persistentInput(ThePEG::PersistentIStream & is, int version);
69 
76  static void Init();
77 
78 protected:
79 
86  virtual ThePEG::IBPtr clone() const;
87 
92  virtual ThePEG::IBPtr fullclone() const;
94 
95 protected:
96 
102  virtual void doinit();
103 
108  virtual void doinitrun();
109 
114  virtual void dofinish();
116 
117 private:
118 
124 
130 
131 private:
132 
136  vector<string> _analyses;
137 
141  string filename;
142 
146  bool debug;
147 
151  Rivet::AnalysisHandler * _rivet;
152 
156  unsigned long _nevent;
157 };
158 
159 }
160 
161 #include "ThePEG/Utilities/ClassTraits.h"
162 
163 namespace ThePEG {
164 
169 template <>
170 struct BaseClassTrait<RivetAnalysis,1> {
172  typedef AnalysisHandler NthBase;
173 };
174 
177 template <>
178 struct ClassTraits<RivetAnalysis>
179  : public ClassTraitsBase<RivetAnalysis> {
181  static string className() { return "ThePEG::RivetAnalysis"; }
189  static string library() { return "RivetAnalysis.so"; }
190 };
191 
194 }
195 
196 #endif /* THEPEG_RivetAnalysis_H */
unsigned long _nevent
Event count.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
bool debug
Enable debugging information from Rivet.
virtual ThePEG::IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentInput(ThePEG::PersistentIStream &is, int version)
Function used to read in object persistently.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
void persistentOutput(ThePEG::PersistentOStream &os) const
Function used to write out object persistently.
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:509
Here is the documentation of the RivetAnalysis class.
Definition: RivetAnalysis.h:19
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
The AnalysisHandler is the base class of all analysis objects which may be handled by the FullEventGe...
RivetAnalysis()
The default constructor.
Rivet::AnalysisHandler * _rivet
The RivetAnalysisHandler.
static ThePEG::ClassDescription< RivetAnalysis > initRivetAnalysis
The static object used to initialize the description of this class.
vector< string > _analyses
The Analyses to use.
virtual ThePEG::IBPtr clone() const
Make a simple clone of this object.
static void Init()
The standard Init function used to initialize the interfaces.
virtual void doinitrun()
Initialize this object.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
string filename
The base name of the output file.
RivetAnalysis & operator=(const RivetAnalysis &)
The assignment operator is private and must never be called.
virtual void doinit()
Initialize this object.
InitState state() const
Return the state of initialization of this object.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
virtual void dofinish()
Finalize this object.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
virtual void analyze(ThePEG::tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52