-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy pathtxt_simple_output.h
More file actions
73 lines (52 loc) · 2.62 KB
/
Copy pathtxt_simple_output.h
File metadata and controls
73 lines (52 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/// \file txt_simple_output.h
/// Defines the Text Output Class.\n
/// The pointer to the output stream
/// is passed by the outputContainer class.\n
/// \author \n Maurizio Ungaro
/// \author mail: ungaro@jlab.org\n\n\n
/// \author \n Angus Hollands
/// \author mail: goosey15@gmail.com\n\n\n
#ifndef TXT_SIMPLE_OUTPUT_H
#define TXT_SIMPLE_OUTPUT_H 1
// gemc headers
#include "outputFactory.h"
// Class definition
class txt_simple_output : public outputFactory
{
public:
~txt_simple_output(){;} ///< event is deleted in WriteEvent routine
static outputFactory *createOutput() {return new txt_simple_output;}
// record the simulation conditions on the file
void recordSimConditions(outputContainer*, map<string, string>);
// write header
void writeHeader(outputContainer*, map<string, double>, gBank);
// write user infos header
void writeUserInfoseHeader(outputContainer*, map<string, double>);
// write RF Signal
virtual void writeRFSignal(outputContainer*, FrequencySyncSignal, gBank);
// write generated particles
void writeGenerated(outputContainer*, vector<generatedParticle>, map<string, gBank> *banksMap, vector<userInforForParticle> userInfo);
// write ancestors
virtual void writeAncestors (outputContainer*, vector<ancestorInfo>, gBank);
// format output and set insideBank
void initBank(outputContainer*, gBank);
// write geant4 raw integrated info
void writeG4RawIntegrated(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
// write geant4 digitized integrated info
void writeG4DgtIntegrated(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
// write geant4 charge / time (as seen by electronic) info
virtual void writeChargeTime(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
// write geant4 true info for every step
virtual void writeG4RawAll(outputContainer*, vector<hitOutput>, string, map<string, gBank>*);
// write fadc mode 1 (full signal shape) - jlab hybrid banks. This uses the translation table to write the crate/slot/channel
virtual void writeFADCMode1(outputContainer*, vector<hitOutput>, int);
// write fadc mode 1 (full signal shape) - jlab hybrid banks. This uses the translation table to write the crate/slot/channel
virtual void writeFADCMode1( map<int, vector<hitOutput> >, int);
// write fadc mode 7 (integrated mode) - jlab hybrid banks. This uses the translation table to write the crate/slot/channel
virtual void writeFADCMode7(outputContainer*, vector<hitOutput>, int);
// write event and close stream if necessary
// nothing to be done for txt
void writeEvent(outputContainer*);
map<string, bool> insideBank;
};
#endif