GEMC  2.3
Geant4 Monte-Carlo Framework
evio_output.h
Go to the documentation of this file.
1 #ifndef EVIO_OUTPUT_H
10 #define EVIO_OUTPUT_H 1
11 
12 // gemc headers
13 #include "outputFactory.h"
14 
15 // Class definition
16 class evio_output : public outputFactory
17 {
18  public:
20  static outputFactory *createOutput() {return new evio_output;}
21 
22  // record the simulation conditions on the file
23  void recordSimConditions(outputContainer*, map<string, string>);
24 
25  // write header
26  void writeHeader(outputContainer*, map<string, double>, gBank);
27 
28  // format output and set insideBank
29  void initBank(outputContainer*, gBank, int what);
30 
31  // write generated particles
32  void writeGenerated(outputContainer*, vector<generatedParticle>, map<string, gBank> *banksMap);
33 
34  // write geant4 raw integrated info
35  void writeG4RawIntegrated(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
36 
37  // write geant4 digitized integrated info
38  void writeG4DgtIntegrated(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
39 
40  // write geant4 true info for every step
41  virtual void writeG4RawAll(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
42 
43  // write event and close stream if necessary
45 
46 
47  evioDOMTree *event;
48  evioDOMNodeP detectorBank;
49  map<string, evioDOMNodeP> detectorRawIntBank;
50  map<string, evioDOMNodeP> detectorDgtIntBank;
51  map<string, evioDOMNodeP> detectorRawAllBank;
52 
53  map<string, bool> insideBank;
54  map<string, bool> insideRawIntBank;
55  map<string, bool> insideDgtIntBank;
56  map<string, bool> insideRawAllBank;
57 
58  int evn;
59 
60 };
61 
62 // returns a evioDOMNodeP based on the type specified by the string
63 // only double is casted back
64 evioDOMNodeP addVariable(int, int, string, double);
65 evioDOMNodeP addVariable(int, int, string, int);
66 evioDOMNodeP addVariable(int, int, string, string);
67 
68 evioDOMNodeP addVector(int, int, string, vector<double>);
69 evioDOMNodeP addVector(int, int, string, vector<int>);
70 evioDOMNodeP addVector(int, int, string, vector<string>);
71 
72 
73 #endif
void writeGenerated(outputContainer *, vector< generatedParticle >, map< string, gBank > *banksMap)
Definition: evio_output.cc:62
map< string, bool > insideRawAllBank
Definition: evio_output.h:56
map< string, evioDOMNodeP > detectorRawAllBank
Definition: evio_output.h:51
evioDOMNodeP addVariable(int, int, string, double)
Definition: evio_output.cc:283
void recordSimConditions(outputContainer *, map< string, string >)
Definition: evio_output.cc:16
evioDOMNodeP detectorBank
Definition: evio_output.h:48
void writeHeader(outputContainer *, map< string, double >, gBank)
Definition: evio_output.cc:36
evioDOMTree * event
Definition: evio_output.h:47
evioDOMNodeP addVector(int, int, string, vector< double >)
Definition: evio_output.cc:313
map< string, evioDOMNodeP > detectorDgtIntBank
Definition: evio_output.h:50
void writeG4RawIntegrated(outputContainer *, vector< hitOutput >, string, map< string, gBank > *)
Definition: evio_output.cc:185
void writeG4DgtIntegrated(outputContainer *, vector< hitOutput >, string, map< string, gBank > *)
Definition: evio_output.cc:215
map< string, bool > insideRawIntBank
Definition: evio_output.h:54
void writeEvent(outputContainer *)
Definition: evio_output.cc:347
map< string, bool > insideBank
Definition: evio_output.h:53
map< string, evioDOMNodeP > detectorRawIntBank
Definition: evio_output.h:49
map< string, bool > insideDgtIntBank
Definition: evio_output.h:55
~evio_output()
event is deleted in WriteEvent routine
Definition: evio_output.h:19
virtual void writeG4RawAll(outputContainer *, vector< hitOutput >, string, map< string, gBank > *)
Definition: evio_output.cc:245
void initBank(outputContainer *, gBank, int what)
Definition: evio_output.cc:136
Definition: gbank.h:86
static outputFactory * createOutput()
Definition: evio_output.h:20