31 bool compare(
const JDetectorIntegration&
first,
const JDetectorIntegration& second)
33 if (first.DUID == second.DUID) {
35 if (first.FLOORID == second.FLOORID)
36 return first.
CABLEPOS < second.CABLEPOS;
38 return first.FLOORID < second.FLOORID;
42 return first.DUID < second.DUID;
53 int main(
const int argc,
const char *
const argv[])
67 JParser<> zap(
"Auxiliary program to print run setup parameters from the database.");
78 catch(
const exception& error) {
79 FATAL(error.what() << endl);
89 catch(
const exception& error) {
90 FATAL(error.what() << endl);
102 if (rs >> parameters) {
103 rs_oid = parameters.RUNSETUPID;
108 DEBUG(
"Run setup " << rs_oid << endl);
110 catch(
const exception& error) {
111 FATAL(error.what() << endl);
121 ResultSet& rs =
getResultSet(getTable<JAllParams>(), getSelector<JAllParams>(
"OPTICS"));
123 while (rs >> parameters) {
124 if (parameters.NAME.find(
"PMT_THRESHOLD") != string::npos) {
135 catch(
const exception& error) {
136 FATAL(error.what() << endl);
148 while (rs >> parameters) {
150 if (parameters.PAR_OID == upars.OID && parameters.ISINPUT ==
'Y') {
153 writer.put(parameters);
156 if (parameters.VALUE !=
"") {
157 umap[parameters.UPIFILTER] = to_value<int>(parameters.VALUE);
164 catch(
const exception& error) {
165 FATAL(error.what() << endl);
169 DEBUG(left << setw(20) << i->first <<
' ' << right << setw(3) << i->second << endl);
179 ResultSet& rs =
getResultSet(getTable<JDetectorIntegration>(), getSelector<JDetectorIntegration>(
is_integer(detid) ? to_value<int>(detid) :
getDetector(detid)));
181 while (rs >> parameters) {
187 catch(
const exception& error) {
188 FATAL(error.what() << endl);
196 if (i->PMTID != -1) {
198 const JUPI_t upi = i->PMTUPI;
202 bool is_default = (p == umap.end());
204 if (p == umap.end()) {
208 os << upi.getPBS() << JUPI_t::SEPARATOR
209 << upi.getVariant() << JUPI_t::SEPARATOR
212 p = umap.find(os.str());
215 if (p != umap.end()) {
218 cout << setw(4) << i->DUID <<
' '
219 << setw(2) << i->FLOORID <<
' '
220 << setw(2) << i->CABLEPOS <<
' '
221 << setw(3) << p->second <<
' '
222 << (is_default ?
"" :
"*") << endl;
227 ERROR(
"Missing threshold data PMT " << upi << endl);
Utility class to parse command line options.
*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
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
JDetectorsHelper getDetector
Function object for mapping serial number to object identifier of detector and vice versa...
T & getInstance(const T &object)
Get static instance from temporary object.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
bool is_integer(const std::string &buffer)
Check if string is an integer.
General purpose messaging.
Utility class to parse command line options.
ResultSet & getResultSet(const std::string &query)
Get result set.
do set_variable DETECTOR_TXT $WORKDIR detector
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])