33   inline double getEfficiency(
const JPMTParameters& 
parameters)
 
   38   static const char* 
const EFFICIENCY = 
"EFFICIENCY";
 
   48 int main(
int argc, 
char **argv)
 
   52   using namespace KM3NETDAQ;
 
   62     JParser<> zap(
"Auxiliary application to plot PMT parameters.");
 
   64     zap[
'a'] = 
make_field(detectorFile,      
"detector file.");
 
   67     zap[
'A'] = 
make_field(showPMTAddress,    
"show PMT address on y-axis");
 
   72   catch(
const exception &error) {
 
   73     FATAL(error.what() << endl);
 
   81   catch(
const JException& error) {
 
   86     FATAL(
"Empty detector." << endl);
 
   91   for (JDetector::iterator module = 
detector.begin(); module != 
detector.end(); ++module) {
 
   93     DEBUG(
"Module " << setw(10) << module->getID() << endl);
 
   97       const JProperties properties = 
parameters.getPMTParameters(JPMTIdentifier(module->getID(), pmt)).getProperties();
 
   99       for (JProperties::const_iterator p = properties.begin(); p != properties.end(); ++p) {
 
  103         try { value = (p->second.getValue<
const double>()); }           
catch(
const exception& error) {}
 
  104         try { value = (p->second.getValue<
const bool>() ? 1.0 : 0.0); } 
catch(
const exception& error) {}
 
  106         manager[
MAKE_CSTRING(module->getID() << 
"." << p->first)]->SetBinContent(pmt + 1, value);
 
  109       double value = getEfficiency(
parameters.getPMTParameters(JPMTIdentifier(module->getID(), pmt)));
 
  111       manager[
MAKE_CSTRING(module->getID() << 
"." << EFFICIENCY)]->SetBinContent(pmt + 1, value);
 
  115   if (showPMTAddress) {
 
  119     for (JManager<string, TH1D>::iterator 
i = manager.begin(); 
i != manager.end(); ++
i) {
 
  123       istringstream(
i->first) >> id;
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
Utility class to parse parameter values. 
 
*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
 
#define MAKE_CSTRING(A)
Make C-string. 
 
Dynamic ROOT object management. 
 
Data structure for detector geometry and calibration. 
 
I/O formatting auxiliaries. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void setAxisLabels(TAxis *axis, const JModuleAddressMap &memo)
Set axis with PMT address labels. 
 
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map. 
 
General purpose messaging. 
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
Utility class to parse command line options. 
 
double getSurvivalProbability(const JPMTParameters ¶meters)
Get model dependent probability that a one photo-electron hit survives the simulation of the PMT assu...
 
Data structure for PMT parameters. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
KM3NeT DAQ constants, bit handling, etc. 
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
#define DEBUG(A)
Message macros.