thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
NLOHepMC3File.h
1// -*- C++ -*-
2#ifndef ThePEG_NLOHepMC3File_H
3#define ThePEG_NLOHepMC3File_H
4//
5// This is the declaration of the NLOHepMC3File class.
6//
7
8#include "ThePEG/Handlers/AnalysisHandler.h"
9#include "HepMC/IO/IO_Base.h"
10#include "ThePEG/Config/HepMCHelper.h"
11
12namespace ThePEG {
13
21
22public:
23
30
35
39 virtual ~NLOHepMC3File() {}
41
42public:
43
63 virtual void analyze(tEventPtr event, long ieve, int loop, int state);
64
68 HepMC::GenEvent * makeEvent(tEventPtr event, tSubProPtr sub, long no,
69 Energy eUnit, Length lUnit,
70 CrossSection xsec, CrossSection xsecErr) const;
71
73
74public:
75
83
89 void persistentInput(PersistentIStream & is, int version);
91
98 static void Init();
99
100protected:
101
108 virtual void doinitrun();
109
114 virtual void dofinish();
116
117protected:
118
125 virtual IBPtr clone() const;
126
131 virtual IBPtr fullclone() const;
133
134
135// If needed, insert declarations of virtual function defined in the
136// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
137
138private:
139
144
148 string _filename;
149
153 HepMC::IO_Base *_hepmcio;
154
159
163 unsigned int _geneventPrecision;
164
168 unsigned long _eventNumber;
169
170private:
171
177
178};
179
180}
181
182#endif /* ThePEG_NLOHepMC3File_H */
The AnalysisHandler is the base class of all analysis objects which may be handled by the FullEventGe...
InitState state() const
Return the state of initialization of this object.
Write hard sub processes or sub process groups to HepMC.
Definition: NLOHepMC3File.h:20
unsigned int _geneventPrecision
Choice of output precision in GenEvent format.
virtual void dofinish()
Finalize this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
unsigned long _eventNumber
Count events.
virtual ~NLOHepMC3File()
The destructor.
Definition: NLOHepMC3File.h:39
long _remnantId
The PDG ID to be used for remnants.
NLOHepMC3File()
The default constructor.
HepMC::IO_Base * _hepmcio
The HepMC I/O handler.
static void Init()
The standard Init function used to initialize the interfaces.
NLOHepMC3File(const NLOHepMC3File &)
The copy constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void doinitrun()
Initialize this object.
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
HepMC::GenEvent * makeEvent(tEventPtr event, tSubProPtr sub, long no, Energy eUnit, Length lUnit, CrossSection xsec, CrossSection xsecErr) const
Produca a HepMC event for the given subprocess.
int _unitchoice
Selector for the choice of units.
NLOHepMC3File & operator=(const NLOHepMC3File &)=delete
The assignment operator is private and must never be called.
string _filename
The HepMC filename.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28