Jpp  18.2.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
JPMTHV.cc File Reference

Utility program to print PMT HV settings. More...

#include <string>
#include <iostream>
#include <vector>
#include <map>
#include "JDB/JDB.hh"
#include "JDB/JSelector.hh"
#include "JDB/JSelectorSupportkit.hh"
#include "JDB/JDBToolkit.hh"
#include "JDB/JDetectorIntegration.hh"
#include "JDB/JPMTHVRunSettings.hh"
#include "JDB/JPMTHV.hh"
#include "JDetector/JPMTIdentifier.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (const int argc, const char *const argv[])
 

Detailed Description

Utility program to print PMT HV settings.

Author
mdejong

Definition in file JPMTHV.cc.

Function Documentation

int main ( const int  argc,
const char *const  argv[] 
)

Definition at line 26 of file JPMTHV.cc.

27 {
28  using namespace std;
29  using namespace JPP;
30 
31  JServer server;
32  string usr;
33  string pwd;
34  string cookie;
35  string detid;
36  int run;
37  int debug;
38 
39  try {
40 
41  JParser<> zap("Utility program to print PMT HV settings.");
42 
43  zap['s'] = make_field(server) = getServernames();
44  zap['u'] = make_field(usr) = "";
45  zap['!'] = make_field(pwd) = "";
46  zap['C'] = make_field(cookie) = "";
47  zap['D'] = make_field(detid);
48  zap['r'] = make_field(run);
49  zap['d'] = make_field(debug) = 1;
50 
51  zap(argc, argv);
52  }
53  catch(const exception& error) {
54  FATAL(error.what() << endl);
55  }
56 
57 
58  try {
59 
60  JDB::reset(usr, pwd, cookie);
61 
62  const int ID = getDetector<int> (detid);
63  detid = getDetector<string>(detid);
64 
65  typedef vector<JDetectorIntegration> detector_type;
66 
67  detector_type detector;
68 
69  {
70  DEBUG("Downloading detector integration data... " << flush);
71 
72  ResultSet& rs = getResultSet(getTable<JDetectorIntegration>(), getSelector<JDetectorIntegration>(ID));
73 
74  for (JDetectorIntegration parameters; rs >> parameters; ) {
75  detector.push_back(parameters);
76  }
77 
78  rs.Close();
79 
80  DEBUG("OK" << endl);
81  }
82 
84 
85  {
86  DEBUG("Downloading HV data... " << flush);
87 
88  ResultSet& rs = getResultSet(getTable<JPMTHVRunSettings>(), getSelector<JPMTHVRunSettings>(ID, run));
89 
90  for (JPMTHVRunSettings parameters; rs >> parameters; ) {
91  HV[parameters.DUID][parameters.FLOORID][parameters.CABLEPOS] = parameters;
92  }
93 
94  rs.Close();
95 
96  DEBUG("OK" << endl);
97  }
98 
99  const JPMTHV pmt_hv(ID, run);
100 
101  for (detector_type::const_iterator i = detector.begin(); i != detector.end(); ++i) {
102 
103  if (i->PMTUPI.getPBS() == PBS::PMT) {
104  {
105  cout << FILL(4,'0') << i->DUID << '.' << FILL(2,'0') << i->FLOORID << "[" << FILL(2,'0') << i->CABLEPOS << "] " << FILL()
106  << setw(4) << HV[i->DUID][i->FLOORID][i->CABLEPOS].HV_INDEX << ' '
107  << FIXED(7,1) << HV[i->DUID][i->FLOORID][i->CABLEPOS].HV_VALUE << ' ';
108  }
109  try {
110  cout << setw(4) << pmt_hv(i->PMTUPI).value << ' '
111  << pmt_hv(i->PMTUPI).is_default
112  << (pmt_hv(i->PMTUPI).value != HV[i->DUID][i->FLOORID][i->CABLEPOS].HV_INDEX ? "*" : "");
113  }
114  catch(const exception& error) {
115  cout << "****";
116  }
117 
118  cout << endl;
119  }
120  }
121  }
122  catch(const exception& error) {
123  FATAL(error.what() << endl);
124  }
125 }
Utility class to parse command line options.
Definition: JParser.hh:1514
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
Definition: diff-Tuna.sh:38
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:446
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1989
Auxiliary data structure for sequence of same character.
Definition: JManip.hh:328
#define FATAL(A)
Definition: JMessage.hh:67
void reset(T &value)
Reset value.
ResultSet & getResultSet(const std::string &query)
Get result set.
Definition: JDB.hh:436
std::vector< JServer > getServernames()
Get list of names of available database servers.
Definition: JDB.hh:106
do set_variable DETECTOR_TXT $WORKDIR detector
int debug
debug level
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62