1 #ifndef __JDETECTOR__JDETECTORCALIBRATION__ 
    2 #define __JDETECTOR__JDETECTORCALIBRATION__ 
   19 namespace JDETECTOR {}
 
   20 namespace JPP { 
using namespace JDETECTOR; }
 
   39   static const std::string  
User_t             =  
"User";
 
   46   static const std::string  
Type_t             =  
"Type";
 
   48   static const std::string  
Tests_t            =  
"Tests";
 
   49   static const std::string  
Data_t             =  
"Data";
 
   51   static const std::string  
Name_t             =  
"Name";
 
   52   static const std::string  
Unit_t             =  
"Unit";
 
   64   static const std::string  
Test_t             =  
"Test";
 
   69   static const std::string  
UPI_t              =  
"UPI";
 
   70   static const std::string  
PBS_t              =  
"PBS";
 
   74   static const std::string  
DOMId_t            =  
"DOMId";
 
   77   static const std::string  
T0_t               =  
"T0";
 
   78   static const std::string  
PX_t               =  
"PX";
 
   79   static const std::string  
PY_t               =  
"PY";
 
   80   static const std::string  
PZ_t               =  
"PZ";
 
   81   static const std::string  
Q0_t               =  
"Q0";
 
   82   static const std::string  
QX_t               =  
"QX";
 
   83   static const std::string  
QY_t               =  
"QY";
 
   84   static const std::string  
QZ_t               =  
"QZ";
 
   88   static const std::string  
Volt_t             =  
"V";
 
   92   static const std::string  
OK_t               =  
"OK";
 
  122     strftime(buffer, 
N, 
"%FT%T%z", localtime(&time));
 
  124     return string(buffer);
 
  151     return std::stod(string_value_array[0]);
 
  192                { 
T0_t,        
object.getT0() } };
 
  206     object.setT0(js.at(
T0_t).get<
double>());
 
  233                      const std::string&              
result,
 
  259     std::ostringstream os;
 
  261     os << 
object.getUPI();
 
  263     js[
UPI_t]                    = os.str();
 
  273                                          { 
Values_t, 
object.runNumberList                      } };
 
  287     stringstream 
is(js.at(
UPI_t).get<
string>());
 
  289     is >> 
static_cast<JUPI_t&
>(object);
 
  319                      const std::string&              
result,
 
  341     std::ostringstream os;
 
  343     os << 
object.getUPI();
 
  345     js[
UPI_t]                    = os.str();
 
  352                                          { 
Values_t, 
object.runNumberList                  } };
 
  366     stringstream 
is(js.at(
UPI_t).get<
string>());
 
  368     is >> 
static_cast<JUPI_t&
>(object);
 
  413                { 
PX_t,    
object.getX()  },
 
  414                { 
PY_t,    
object.getY()  },
 
  415                { 
PZ_t,    
object.getZ()  } };
 
  427     object.setID(js.at(
DOMId_t).get<
int>());
 
  430                                    js.at(
PY_t).get<
double>(),
 
  431                                    js.at(
PZ_t).get<
double>()));
 
  471                { 
Q0_t,    
object.getA()  },
 
  472                { 
QX_t,    
object.getB()  },
 
  473                { 
QY_t,    
object.getC()  },
 
  474                { 
QZ_t,    
object.getD()  } };
 
  486     object.setID(js.at(
DOMId_t).get<
int>());
 
  489                                        js.at(
QX_t).get<
double>(),
 
  490                                        js.at(
QY_t).get<
double>(),
 
  491                                        js.at(
QZ_t).get<
double>()));
 
static const std::string DOMSerial_t
 
static const std::string PMTGain_t
 
void to_json(json &js, const JPMTCalibration_t &object)
Convert PMT time calibration to JSon. 
 
static const std::string PZ_t
 
static const std::string Name_t
 
static const std::string PMTSupplyVoltage_t
 
static const std::string Q0_t
 
JPMTCalibration_t()
Default constructor. 
 
Time calibration (including definition of sign of time offset). 
 
static const std::string Unit_t
 
static const std::string Failed_t
 
std::vector< std::string > runNumberList
 
static const std::string UPI_t
 
static const std::string Tests_t
 
static const std::string DOMPositions_t
 
static const std::string OK_t
 
JModuleRotation_t(const JObjectID &id, const JQuaternion3D &rotation)
Constructor. 
 
static const std::string DOMId_t
 
JHVCalibration_t()
Default constructor. 
 
std::vector< JModuleRotation_t > JModuleRotation
Module rotation. 
 
static const std::string QZ_t
 
static const std::string Variant_t
 
static const std::string PX_t
 
static const std::string Location_t
 
Universal product identifier (UPI). 
 
Data structure for time calibration. 
 
double retrieve_value(std::vector< std::string > string_value_array)
Retrieve value from json array of strings. 
 
JPMTCalibration_t(const JObjectID &id, const JCalibration &calibration)
Constructor. 
 
JTHCalibration_t(const JUPI_t &upi, const std::string &result, const double th, const std::vector< std::string > &runNumbers=std::vector< std::string >{})
Constructor. 
 
static const std::string Target_t
 
std::vector< std::string > runNumberList
 
static const std::string Result_t
 
static const std::string Outcome_t
 
static const std::string Volt_t
 
void from_json(const json &js, JPMTCalibration_t &object)
Convert JSon to PMT time calibration. 
 
static const std::string T0_t
 
std::vector< JHVCalibration_t > JHVCalibration
PMT high voltage calibration. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
static const std::string DOMRotations_t
 
bool is_valid(const json &js)
Check validity of JSon data. 
 
static const std::string PMTThreshold_t
 
static const std::string Test_t
 
static const std::string PMTSerial_t
 
static const std::string RunNumber_t
 
JModulePosition_t(const JObjectID &id, const JPosition3D &position)
Constructor. 
 
static const std::string Comment_t
 
Data structure for unit quaternion in three dimensions. 
 
static const std::string Values_t
 
JTHCalibration_t()
Default constructor. 
 
static const std::string PY_t
 
then $JPP_DIR examples JDetector JToT o $OUTPUT_FILE n N $NPE P gain
 
static const std::string EndTime_t
 
JModulePosition_t()
Default constructor. 
 
static const std::string PBS_t
 
Auxiliary class for object identification. 
 
std::vector< JTHCalibration_t > JTHCalibration
PMT threshold calibration. 
 
Data structure for PMT high-voltage calibration. 
 
static const std::string Type_t
 
std::string to_string(const T &value)
Convert value to string. 
 
static const std::string StartTime_t
 
Auxiliary data structure for module rotation. 
 
std::string get_date_string(const std::time_t &time)
Create ISO 8601 date string for output file header. 
 
JModuleRotation_t()
Default constructor. 
 
Product breakdown structure (PBS). 
 
static const std::string User_t
Detector calibration key words for JSON I/O. 
 
Auxiliary data structure for module position. 
 
Data structure for position in three dimensions. 
 
JHVCalibration_t(const JUPI_t &upi, const std::string &result, const double hv, const double gain, const std::vector< std::string > &runNumbers=std::vector< std::string >{})
Constructor. 
 
static const std::string PMTT0s_t
 
std::vector< JModulePosition_t > JModulePosition
Module position. 
 
static const std::string Parameters_t
 
static const std::string Data_t
 
Auxiliary data structure for PMT time calibration. 
 
static const std::string QY_t
 
then usage $script[input file[working directory[option]]] nWhere option can be N
 
static const std::string Unitless_t
 
std::vector< JPMTCalibration_t > JPMTCalibration
PMT time calibration. 
 
Data structure for PMT threshold calibration. 
 
std::vector< std::string > get_string_array(T value)
Cast single value to array of strings, conform the DB-format. 
 
static const std::string QX_t