Jpp  19.1.0
the software that should make you happy
Public Member Functions | List of all members
JDATABASE::JPMTThreshold Class Reference

Auxiliary class for PMT thresholds. More...

#include <JPMTThreshold.hh>

Inheritance diagram for JDATABASE::JPMTThreshold:
JDATABASE::JPMTRunsetupParams< int > std::map< std::string, JPMTValue< int > >

Public Member Functions

 JPMTThreshold ()
 Default constructor. More...
 
 JPMTThreshold (const int id, const int run)
 Constructor. More...
 
void configure (const int id, const int run)
 Configure PMT thresholds for given detector and run. More...
 
void configure (const int id, const int run, const std::string &parameter)
 Configure PMT run setup parameters for given detector and run. More...
 
result_type operator() (const JUPI_t &upi) const
 Get PMT parameter value for given UPI of PMT. More...
 

Detailed Description

Auxiliary class for PMT thresholds.

Definition at line 18 of file JPMTThreshold.hh.

Constructor & Destructor Documentation

◆ JPMTThreshold() [1/2]

JDATABASE::JPMTThreshold::JPMTThreshold ( )
inline

Default constructor.

Definition at line 29 of file JPMTThreshold.hh.

30  {}

◆ JPMTThreshold() [2/2]

JDATABASE::JPMTThreshold::JPMTThreshold ( const int  id,
const int  run 
)
inline

Constructor.

Parameters
iddetector identifier
runrun number

Definition at line 39 of file JPMTThreshold.hh.

40  {
41  configure(id, run);
42  }
void configure(const int id, const int run)
Configure PMT thresholds for given detector and run.

Member Function Documentation

◆ configure() [1/2]

void JDATABASE::JPMTThreshold::configure ( const int  id,
const int  run 
)
inline

Configure PMT thresholds for given detector and run.

Parameters
iddetector identifier
runrun number

Definition at line 51 of file JPMTThreshold.hh.

52  {
53  configure(id, run, PMT_THRESHOLD_t);
54  }
const char *const PMT_THRESHOLD_t
parameter name of PMT threshold

◆ configure() [2/2]

void JDATABASE::JPMTRunsetupParams< int >::configure ( const int  id,
const int  run,
const std::string &  parameter 
)
inlineinherited

Configure PMT run setup parameters for given detector and run.

Parameters
iddetector identifier
runrun number
parameterparameter name

Definition at line 83 of file JPMTRunsetupParams.hh.

84  {
85  using namespace std;
86  using namespace JPP;
87 
88  this->clear();
89 
90  string rs_oid;
91  JAllParams upars;
92 
93  {
94  ResultSet& rs = getResultSet(getTable<JRuns>(), getSelector<JRuns>(id, run));
95 
96  JRuns parameters;
97 
98  if (rs >> parameters) {
99  rs_oid = parameters.RUNSETUPID;
100  }
101 
102  rs.Close();
103  }
104  {
105  ResultSet& rs = getResultSet(getTable<JAllParams>(), getSelector<JAllParams>(OPTICS_t));
106 
107  for (JAllParams parameters; rs >> parameters; ) {
108  if (parameters.NAME == parameter) {
109  upars = parameters;
110  }
111  }
112 
113  rs.Close();
114  }
115  {
116  ResultSet& rs = getResultSet(getTable<JRunsetupParams>(), getSelector<JRunsetupParams>(getDetector(id), rs_oid));
117 
118  for (JRunsetupParams parameters; rs >> parameters; ) {
119  if (parameters.PAR_OID == upars.OID && parameters.ISINPUT == 'Y') {
120  if (parameters.VALUE != "") {
121 
122  JPMTValue<JValue_t>& value = (*this)[parameters.UPIFILTER];
123 
124  if (parameters.ORDER > value.first) {
125 
126  value.first = parameters.ORDER;
127 
128  istringstream(parameters.VALUE) >> value.second;
129  }
130  }
131  }
132  }
133 
134  rs.Close();
135  }
136  }
const char *const OPTICS_t
sub-system of PMT
ResultSet & getResultSet(const std::string &query)
Get result set.
Definition: JDB.hh:437
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
Definition: JDBToolkit.hh:378
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JSTDTypes.hh:14
Auxiliary data structure for fallback order of PMT data.
std::string RUNSETUPID
Definition: JRuns.hh:26
Template definition for getting table specific selector.

◆ operator()()

result_type JDATABASE::JPMTRunsetupParams< int >::operator() ( const JUPI_t upi) const
inlineinherited

Get PMT parameter value for given UPI of PMT.

Parameters
upiUPI
Returns
PMT parameter value

Definition at line 145 of file JPMTRunsetupParams.hh.

146  {
147  typename JPMTRunsetupParams::const_iterator p = this->find(upi.toString()), p0 = p, p1 = p;
148 
149  // fallbacks
150 
151  const JUPI_t buffer[] = {
152  JUPI_t(upi.getPBS(), upi.getVariant(), JUPI_t::DEFAULT_VERSION, 0),
153  JUPI_t(upi.getPBS(), upi.getVariant(), JUPI_t::DEFAULT_VERSION, JUPI_t::DEFAULT_NUMBER),
154  JUPI_t(upi.getPBS(), "", JUPI_t::DEFAULT_VERSION, 0),
155  JUPI_t(upi.getPBS(), "", JUPI_t::DEFAULT_VERSION, JUPI_t::DEFAULT_NUMBER)
156  };
157 
158  for (const JUPI_t& i : buffer) {
159  if ((p = this->find(i.toString())) != this->end()) {
160  if (p1 == this->end() || p->first > p1->first) {
161  p1 = p;
162  }
163  }
164  }
165 
166  if (p1 != this->end()) {
167  return { p0 != p1, p1->second.second };
168  }
169 
170  THROW(JDatabaseException, "Invalid UPI " << upi);
171  }
TPaveText * p1
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
Database exception.
Definition: JException.hh:684
const JPBS_t & getPBS() const
Get PBS.
Definition: JPBS_t.hh:101
Universal product identifier (UPI).
Definition: JUPI_t.hh:32
const std::string & getVariant() const
Get variant.
Definition: JUPI_t.hh:111
std::string toString() const
Convert UPI.
Definition: JUPI_t.hh:144

The documentation for this class was generated from the following file: