29 int main(
int argc,
char **argv)
44 JParser<> zap(
"Auxiliary program to check HV.");
56 catch(
const exception &error) {
57 FATAL(error.what() << endl);
64 load(detectorFile, detectorA);
66 catch(
const JException& error) {
75 const string detid =
getDetector(detectorA.getID());
79 detector_type detectorB;
82 ResultSet& rs =
getResultSet(getTable<JDetectorIntegration>(), getSelector<JDetectorIntegration>(detectorA.getID()));
86 if (parameters.PMTUPI.getPBS() ==
PBS::PMT) {
94 for (JDetector::iterator module = detectorA.begin(); module != detectorA.end(); ++module) {
98 for (
size_t i = 0; i != module->size(); ++i) {
100 const int pmt = (*module)[i].getID();
102 if (detectorB.count(pmt) == 1) {
104 const JDetectorIntegration&
parameters = detectorB[pmt];
106 const JLocation location(parameters.DUID, parameters.FLOORID);
108 if (module->getLocation() != location) {
109 FATAL(
"Wrong location " << left << setw(5) << pmt <<
" " << module->getLocation() <<
" != " << location << endl);
112 if (parameters.PMTID != parameters.CABLEPOS) {
114 NOTICE(
"Swap PMT " << right << setw(10) << module->getID() <<
' '
115 << JLocation_t(parameters.DUID, parameters.FLOORID, parameters.CABLEPOS) <<
" <- "
116 << JLocation_t(parameters.DUID, parameters.FLOORID, parameters.PMTID) << endl);
118 buffer[parameters.CABLEPOS] = (*module)[parameters.PMTID];
123 ERROR(
"Missing PMT " << left << setw(5) << pmt << right << setw(10) << module->getID() <<
"." <<
FILL(2,
'0') << i <<
FILL() << endl);
127 module->swap(buffer);
130 catch(
const exception& error) {
131 FATAL(error.what() << endl);
139 catch(
const JException& error) {
Utility class to parse command line options.
int main(int argc, char *argv[])
static const JPBS_t PMT(3, 4, 2, 3)
PBS of photo-multiplier tube (PMT)
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Data structure for detector geometry and calibration.
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
General purpose messaging.
Auxiliary data structure for sequence of same character.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Utility class to parse command line options.
ResultSet & getResultSet(const std::string &query)
Get result set.
std::vector< JServer > getServernames()
Get list of names of available database servers.