Jpp 19.3.0-rc.1
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 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 {
106
107 for (JAllParams parameters; rs >> parameters; ) {
108 if (parameters.NAME == parameter) {
109 upars = parameters;
110 }
111 }
112
113 rs.Close();
114 }
115 {
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: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 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.
static const int DEFAULT_VERSION
Default version.
Definition JUPI_t.hh:38
static const int DEFAULT_NUMBER
Default number.
Definition JUPI_t.hh:39

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