GEMC
1.8
Geant4 Monte-Carlo Framework
Main Page
Data Structures
Files
File List
Globals
src
MOutputBaseClass.h
Go to the documentation of this file.
1
#ifndef MOUTBASECLASS_H
10
#define MOUTBASECLASS_H 1
11
12
// %%%%%%%%%%%%%
13
// gemc headers
14
// %%%%%%%%%%%%%
15
#include "
MBankdefs.h
"
16
#include "evioFileChannel.hxx"
17
#include "
usage.h
"
18
19
// %%%%
20
// EVIO
21
// %%%%
22
#include "evioUtil.hxx"
23
#include "evioUtil.hxx"
24
using namespace
evio
;
25
26
32
class
MGeneratedParticle
33
{
34
public
:
35
MGeneratedParticle
(){;}
36
~MGeneratedParticle
(){;}
37
38
G4ThreeVector
vertex
;
39
G4ThreeVector
momentum
;
40
int
PID
;
41
};
42
43
44
class
header
45
{
46
public
:
47
48
int
evn
;
49
int
type
;
50
double
beamPol;
54
double
targetPol
;
55
double
time
;
56
};
57
58
62
class
MOutputs
63
{
64
public
:
65
MOutputs
(
gemc_opts
);
66
~
MOutputs
();
67
68
gemc_opts
gemcOpt
;
69
string
outType
;
70
string
outFile
;
71
72
ofstream *
txtoutput
;
73
evioFileChannel *
pchan
;
74
};
75
82
class
MOutputBaseClass
83
{
84
public
:
85
virtual
void
SaveSimConditions(
MOutputs
*, map<string, string>) = 0;
86
virtual
void
ProcessOutput(
PH_output
,
MOutputs
*,
MBank
) = 0;
87
virtual
void
SetBankHeader(
int
,
string
,
MOutputs
*) = 0;
88
virtual
void
SetOutpHeader(
header
,
MOutputs
*) = 0;
89
virtual
void
RecordAndClear(
MOutputs
*,
MBank
) = 0;
90
virtual
void
WriteGenerated(
MOutputs
*, vector<MGeneratedParticle>) = 0;
91
virtual
void
WriteEvent(
MOutputs
*) = 0;
92
string
outputType
;
93
94
virtual
~MOutputBaseClass
(){;}
95
};
96
97
typedef
MOutputBaseClass
*(*MOutput_Factory)();
98
99
MOutputBaseClass
*
GetMOutputClass
(map<string, MOutput_Factory> *MOutput,
string
);
100
101
102
#endif
PH_output
Definition:
MPHBaseClass.h:23
MGeneratedParticle::momentum
G4ThreeVector momentum
Definition:
MOutputBaseClass.h:39
MGeneratedParticle::MGeneratedParticle
MGeneratedParticle()
Definition:
MOutputBaseClass.h:35
MOutputBaseClass::outputType
string outputType
Definition:
MOutputBaseClass.h:92
MGeneratedParticle::~MGeneratedParticle
~MGeneratedParticle()
Definition:
MOutputBaseClass.h:36
GetMOutputClass
MOutputBaseClass * GetMOutputClass(map< string, MOutput_Factory > *MOutput, string)
Instantiates MOutputBaseClass.
Definition:
MOutputBaseClass.cc:10
MBankdefs.h
MGeneratedParticle
Definition:
MOutputBaseClass.h:32
header
Definition:
MOutputBaseClass.h:44
MOutputs
Definition:
MOutputBaseClass.h:62
MOutputs::outFile
string outFile
Definition:
MOutputBaseClass.h:70
MGeneratedParticle::vertex
G4ThreeVector vertex
Definition:
MOutputBaseClass.h:38
MOutputs::txtoutput
ofstream * txtoutput
Definition:
MOutputBaseClass.h:72
MOutputs::outType
string outType
Definition:
MOutputBaseClass.h:69
header::targetPol
double targetPol
Target Polarization.
Definition:
MOutputBaseClass.h:54
header::type
int type
Definition:
MOutputBaseClass.h:49
MOutputs::gemcOpt
gemc_opts gemcOpt
Definition:
MOutputBaseClass.h:68
MBank
Definition:
MBankdefs.h:28
MOutputs::pchan
evioFileChannel * pchan
Definition:
MOutputBaseClass.h:73
MOutputBaseClass
Definition:
MOutputBaseClass.h:82
MOutputBaseClass::~MOutputBaseClass
virtual ~MOutputBaseClass()
Definition:
MOutputBaseClass.h:94
MGeneratedParticle::PID
int PID
Definition:
MOutputBaseClass.h:40
evio
header::time
double time
Event Time.
Definition:
MOutputBaseClass.h:55
gemc_opts
Definition:
usage.h:59
header::evn
int evn
Event number.
Definition:
MOutputBaseClass.h:48
usage.h
Generated on Wed Jul 6 2016 11:12:55 for GEMC by
1.8.11