thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Analysis
HIHepMCFile.h
1
// -*- C++ -*-
2
//
3
// HIHepMCFile.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef THEPEG_HIHepMCFile_H
10
#define THEPEG_HIHepMCFile_H
11
//
12
// This is the declaration of the HIHepMCFile class.
13
//
14
#include <iostream>
15
#include <fstream>
16
#include <config.h>
17
#include "ThePEG/Handlers/AnalysisHandler.h"
18
#include "ThePEG/Repository/CurrentGenerator.h"
19
#include "ThePEG/Repository/EventGenerator.h"
20
#include "ThePEG/Config/HepMCHelper.h"
21
22
namespace
ThePEG
{
23
30
class
HIHepMCFile
:
public
AnalysisHandler
{
31
32
public
:
33
39
HIHepMCFile
();
40
44
HIHepMCFile
(
const
HIHepMCFile
&);
46
47
public
:
48
68
virtual
void
analyze
(
tEventPtr
event,
long
ieve,
int
loop,
int
state
);
70
71
public
:
72
79
void
persistentOutput
(
PersistentOStream
& os)
const
;
80
86
void
persistentInput
(
PersistentIStream
& is,
int
version);
88
95
static
void
Init
();
96
97
protected
:
98
105
virtual
IBPtr
clone
()
const
;
106
111
virtual
IBPtr
fullclone
()
const
;
113
114
protected
:
115
122
virtual
void
doinitrun
();
123
128
virtual
void
dofinish
();
130
131
private
:
132
137
static
ClassDescription<HIHepMCFile>
initHIHepMCFile
;
138
143
HIHepMCFile
&
operator=
(
const
HIHepMCFile
&) =
delete
;
144
145
private
:
146
150
long
_eventNumber
;
151
155
int
_format
;
156
160
string
_filename
;
161
162
#ifdef HAVE_HEPMC_ROOTIO
166
string
_ttreename;
167
171
string
_tbranchname;
172
173
#endif
177
#ifdef HAVE_HEPMC3
178
HepMC::Writer *
_hepmcio
;
179
#else
180
HepMC::IO_BaseClass *
_hepmcio
;
181
#endif
182
186
ofstream
_hepmcdump
;
187
191
int
_unitchoice
;
192
196
unsigned
int
_geneventPrecision
;
197
};
198
199
}
200
201
#include "ThePEG/Utilities/ClassTraits.h"
202
203
namespace
ThePEG
{
204
209
template
<>
210
struct
BaseClassTrait<HIHepMCFile,1> {
212
typedef
AnalysisHandler
NthBase
;
213
};
214
217
template
<>
218
struct
ClassTraits<HIHepMCFile>
219
:
public
ClassTraitsBase<HIHepMCFile> {
221
static
string
className
() {
return
"ThePEG::HIHepMCFile"
; }
225
static
string
library
() {
return
"HepMCAnalysis.so"
; }
226
};
227
230
}
231
232
#endif
/* THEPEG_HIHepMCFile_H */
ThePEG::AnalysisHandler
The AnalysisHandler is the base class of all analysis objects which may be handled by the FullEventGe...
Definition:
AnalysisHandler.h:41
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::HIHepMCFile
The HIHepMCFile class outputs ThePEG events in HepMC format with additional Heavy Ion information.
Definition:
HIHepMCFile.h:30
ThePEG::HIHepMCFile::_hepmcio
HepMC::Writer * _hepmcio
The HepMC I/O handler.
Definition:
HIHepMCFile.h:178
ThePEG::HIHepMCFile::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::HIHepMCFile::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::HIHepMCFile::_format
int _format
The HepMC format.
Definition:
HIHepMCFile.h:155
ThePEG::HIHepMCFile::initHIHepMCFile
static ClassDescription< HIHepMCFile > initHIHepMCFile
The static object used to initialize the description of this class.
Definition:
HIHepMCFile.h:137
ThePEG::HIHepMCFile::_geneventPrecision
unsigned int _geneventPrecision
Choice of output precision in GenEvent format.
Definition:
HIHepMCFile.h:196
ThePEG::HIHepMCFile::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::HIHepMCFile::HIHepMCFile
HIHepMCFile()
The default constructor.
ThePEG::HIHepMCFile::analyze
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
ThePEG::HIHepMCFile::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::HIHepMCFile::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::HIHepMCFile::operator=
HIHepMCFile & operator=(const HIHepMCFile &)=delete
The assignment operator is private and must never be called.
ThePEG::HIHepMCFile::_eventNumber
long _eventNumber
Last event that should be written out as HepMC format.
Definition:
HIHepMCFile.h:150
ThePEG::HIHepMCFile::_filename
string _filename
The HepMC filename.
Definition:
HIHepMCFile.h:160
ThePEG::HIHepMCFile::HIHepMCFile
HIHepMCFile(const HIHepMCFile &)
The copy constructor.
ThePEG::HIHepMCFile::dofinish
virtual void dofinish()
Finalize this object.
ThePEG::HIHepMCFile::_unitchoice
int _unitchoice
Selector for the choice of units.
Definition:
HIHepMCFile.h:191
ThePEG::HIHepMCFile::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::HIHepMCFile::_hepmcdump
ofstream _hepmcdump
The HepMC dump file.
Definition:
HIHepMCFile.h:186
ThePEG::InterfacedBase::state
InitState state() const
Return the state of initialization of this object.
Definition:
InterfacedBase.h:298
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6