26{
29
31 JLimit_t& numberOfEvents = inputFile.getLimit();
35
36 try {
37
38 JParser<> zap(
"Auxialiry program to determine average creep of strings.");
39
40 zap[
'f'] =
make_field(inputFile,
"input file (output of JKatoomba[.sh])");
45
47 }
48 catch(const exception &error) {
50 }
51
53
55 try {
57 }
60 }
61 }
62
64
65 while (inputFile.hasNext()) {
66
68
69 const JEvt* evt = inputFile.next();
70
71 for (JEvt::const_iterator i = evt->begin(); i != evt->end(); ++i) {
72 Q[i->id].put(i->vs);
73 }
74 }
76
80 <<
setw(6) << i->second.getCount() <<
' '
81 <<
FIXED(9,6) << i->second.getMean (0.0) <<
' '
82 <<
FIXED(9,6) << i->second.getSTDev(0.0) <<
endl;
83 }
84 }
85
87
89
91 buffer[module->getString()][module->getFloor()] = &(*module);
92 }
93
95
96 if (buffer.count(i->first) != 0 && buffer[i->first].count(0) != 0) {
97
98 const double z0 = buffer[i->first][0]->getZ();
99
100 for (
auto&
module : buffer[i->first]) {
101
102 if (
module.second->getFloor() != 0) {
103
104 const double z1 =
module.second->getZ();
105
106 module.second->add(JPosition3D(0.0, 0.0, i->second.getMean(0.0) * (z1 - z0)));
107 }
108 }
109
110 } else {
111
113 }
114 }
115
117
119 }
120}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Template definition of a multi-dimensional oscillation probability interpolation table.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for sequence of same character.
Auxiliary data structure for floating point format specification.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.