25 int main(
int argc,
char **argv)
31 JLimit_t& numberOfEvents = inputFile.getLimit();
33 bool overwriteDetector;
38 JParser<> zap(
"Auxialiry program to determine average creep of strings.");
40 zap[
'f'] =
make_field(inputFile,
"input file (output of JKatoomba[.sh])");
41 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
42 zap[
'a'] =
make_field(detectorFile,
"detector file.") =
"";
43 zap[
'A'] =
make_field(overwriteDetector,
"overwrite detector file provided through '-a' with average stretching.");
48 catch(
const exception &error) {
49 FATAL(error.what() << endl);
54 if (detectorFile !=
"") {
71 for (JEvt::const_iterator i = evt->begin(); i != evt->end(); ++i) {
79 cout << setw(4) << i->first <<
' '
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;
86 if (overwriteDetector) {
90 for (JDetector::iterator module =
detector.begin(); module !=
detector.end(); ++module) {
91 buffer[module->getString()][module->getFloor()] = &(*module);
96 if (buffer.count(i->first) != 0 && buffer[i->first].count(0) != 0) {
98 const double z0 = buffer[i->first][0]->getZ();
100 for (
auto& module : buffer[i->first]) {
102 if (module.second->getFloor() != 0) {
104 const double z1 = module.second->getZ();
106 module.second->add(
JPosition3D(0.0, 0.0, i->second.getMean(0.0) * (z1 - z0)));
112 FATAL(
"Missing location " <<
FILL(4,
'0') << i->first <<
'.' <<
FILL(2,
'0') << 0 <<
FILL() << endl);
116 NOTICE(
"Store stretching data on file " << detectorFile << endl);
ROOT TTree parameter settings.
Data structure for detector geometry and calibration.
General purpose messaging.
#define DEBUG(A)
Message macros.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Data structure for position in three dimensions.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
virtual const pointer_type & next() override
Get next element.
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).
int main(int argc, char **argv)
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.