12 #include "TTimeStamp.h" 
   40     JKey_t(
const int          string,
 
   42            const std::string& parameter) :
 
   56     friend inline bool operator<(
const JKey_t& 
first, 
const JKey_t& second)
 
   58       if (first.string == second.string) {
 
   60         if (first.floor == second.floor)
 
   61           return first.parameter < second.parameter;
 
   63           return first.floor     < second.floor;
 
   67         return first.string < second.string;
 
   77     std::string toString()
 const 
   79       std::ostringstream os;
 
   94     friend inline std::ostream& 
operator<<(std::ostream& out, 
const JKey_t& 
object)
 
   98       return out << setw(3) << setfill(
'0') << 
object.string << 
'.' 
   99                  << setw(2) << setfill(
'0') << 
object.floor  << 
'.' 
  100                  << setfill(
' ') << 
object.parameter;
 
  105     std::string parameter;
 
  116 int main(
int argc, 
char **argv)
 
  129     JParser<> zap(
"Auxiliary program to convert ROOT TTree with slow control data to ROOT TGraph's.");
 
  131     zap[
'f'] = 
make_field(inputFile,  
"ROOT input file (output file of JTuna).");
 
  132     zap[
'n'] = 
make_field(numberOfEvents)        = JLimit::max();
 
  139   catch(
const exception &error) {
 
  140     FATAL(error.what() << endl);
 
  149   long long int counter = 0;
 
  151   for (inputFile.rewind(); inputFile.hasNext(); ++counter) {
 
  163       strings.insert(p->
string);
 
  164       floors .insert(p->
floor);
 
  174     JGraph g1(i->second, i->first.toString().c_str());
 
  178     g1.SetMinimum(
range.getLowerLimit());
 
  179     g1.SetMaximum(
range.getUpperLimit());
 
  186   os << 
"set_variable NUMBER_OF_STRINGS " << setw(4) <<  strings.size()   << 
";" << endl;
 
  187   os << 
"set_variable NUMBER_OF_FLOORS  " << setw(4) <<  floors. size()   << 
";" << endl;
 
  188   if (!strings.empty()) {
 
  189     os << 
"set_variable FIRST_STRING      " << setw(4) << *strings. begin() << 
";" << endl;
 
  190     os << 
"set_variable LAST_STRING       " << setw(4) << *strings.rbegin() << 
";" << endl;
 
  192   if (!floors.empty()) {
 
  193     os << 
"set_variable FIRST_FLOOR       " << setw(4) << *floors.  begin() << 
";" << endl;
 
  194     os << 
"set_variable LAST_FLOOR        " << setw(4) << *floors. rbegin() << 
";" << endl;
 
  196   os << 
"set_array    STRINGS           ";
 
  197   copy(strings.begin(), strings.end(), ostream_iterator<int>(os, 
" "));
 
  200   TNamed meta(
"TUNA", os.str().c_str());
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
double getTime() const 
Get time. 
 
void put(const Double_t x, const Double_t y)
Put data. 
 
Data structure for graph data. 
 
bool operator<(const Head &first, const Head &second)
Less than operator. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Auxiliary data structure to build TGraph. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
Auxiliary class for defining the range of iterations of objects. 
 
I/O formatting auxiliaries. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
ROOT TTree parameter settings. 
 
General purpose messaging. 
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
 
Auxiliary class to define a range between two values. 
 
General purpose class for object reading from a list of file names. 
 
Utility class to parse command line options. 
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
void copy(const Head &from, JHead &to)
Copy header from from to to. 
 
const JLimit & getLimit() const 
Get limit. 
 
Double_t g1(const Double_t x)
Function.