Jpp 19.3.0
the software that should make you happy
Loading...
Searching...
No Matches
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.
 
 JPMTThreshold (const int id, const int run)
 Constructor.
 
void configure (const int id, const int run)
 Configure PMT thresholds for given detector and run.
 
void configure (const int id, const int run, const std::string &parameter)
 Configure PMT run setup parameters for given detector and run.
 
result_type operator() (const JUPI_t &upi) const
 Get PMT parameter value for given UPI of PMT.
 

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 98 of file JPMTRunsetupParams.hh.

99 {
100 using namespace std;
101 using namespace JPP;
102
103 this->clear();
104
105 string rs_oid;
106 JAllParams upars;
107
108 {
109 ResultSet& rs = getResultSet(getTable<JRuns>(), getSelector<JRuns>(id, run));
110
111 JRuns parameters;
112
113 if (rs >> parameters) {
114 rs_oid = parameters.RUNSETUPID;
115 }
116
117 rs.Close();
118 }
119 {
121
122 for (JAllParams parameters; rs >> parameters; ) {
123 if (parameters.NAME == parameter) {
124 upars = parameters;
125 }
126 }
127
128 rs.Close();
129 }
130 {
132
133 for (JRunsetupParams parameters; rs >> parameters; ) {
134 if (parameters.PAR_OID == upars.OID && parameters.ISINPUT == 'Y') {
135 if (parameters.VALUE != "") {
136
137 JPMTValue<JValue_t>& value = (*this)[parameters.UPIFILTER];
138
139 if (parameters.ORDER > value.first) {
140
141 value.first = parameters.ORDER;
142
143 istringstream(parameters.VALUE) >> value.second;
144 }
145 }
146 }
147 }
148
149 rs.Close();
150 }
151 }
const char *const OPTICS_t
sub-system of PMT
ResultSet & getResultSet(const std::string &query)
Get result set.
Definition JDB.hh:438
const char * getTable()
Get table name.
Definition JDB.hh:373
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
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 160 of file JPMTRunsetupParams.hh.

161 {
162 typename JPMTRunsetupParams::const_iterator p = this->find(upi.toString()), p0 = p, p1 = p;
163
164 // fallbacks
165
166 const JUPI_t buffer[] = {
167 JUPI_t(upi.getPBS(), upi.getVariant(), JUPI_t::DEFAULT_VERSION, 0),
168 JUPI_t(upi.getPBS(), upi.getVariant(), JUPI_t::DEFAULT_VERSION, JUPI_t::DEFAULT_NUMBER),
169 JUPI_t(upi.getPBS(), "", JUPI_t::DEFAULT_VERSION, 0),
170 JUPI_t(upi.getPBS(), "", JUPI_t::DEFAULT_VERSION, JUPI_t::DEFAULT_NUMBER)
171 };
172
173 for (const JUPI_t& i : buffer) {
174 if ((p = this->find(i.toString())) != this->end()) {
175 if (p1 == this->end() || p->first > p1->first) {
176 p1 = p;
177 }
178 }
179 }
180
181 if (p1 != this->end()) {
182 return { p0 != p1, p1->second.second };
183 }
184
185 THROW(JDatabaseException, "Invalid UPI " << upi);
186 }
TPaveText * p1
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
static const int DEFAULT_VERSION
Default version.
Definition JUPI_t.hh:39
static const int DEFAULT_NUMBER
Default number.
Definition JUPI_t.hh:40

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