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.