Jpp 20.0.0-195-g190c9e876
the software that should make you happy
Loading...
Searching...
No Matches
JDETECTOR::JPMTParameters Class Reference

Data structure for PMT parameters. More...

#include <JPMTParameters.hh>

Inheritance diagram for JDETECTOR::JPMTParameters:
JDETECTOR::JPMTAnalogueSignalProcessor

Classes

class  JPMTParametersHelper
 Auxiliary class for I/O of PMT parameters. More...
 

Public Member Functions

 JPMTParameters ()
 Default constructor.
 
 JPMTParameters (const double QE, const double gain, const double gainSpread, const double riseTime_ns, const double TTS_ns, const double threshold, const double PunderAmplified, const double thresholdBand, const double mean_ns, const double sigma_ns, const double slope, const double saturation, const bool slewing=true)
 Constructor.
 
const JPMTParametersgetPMTParameters () const
 Get PMT parameters.
 
void setPMTParameters (const JPMTParameters &parameters)
 Set PMT parameters.
 
bool is_valid () const
 Check validity of PMT parameters.
 
int getType () const
 Get type for for time-slewing correction.
 
JProperties getProperties (const JEquationParameters &equation=JPMTParameters::getEquationParameters())
 Get properties of this class.
 
JProperties getProperties (const JEquationParameters &equation=JPMTParameters::getEquationParameters()) const
 Get properties of this class.
 

Static Public Member Functions

static JEquationParametersgetEquationParameters ()
 Get equation parameters.
 
static void setEquationParameters (const JEquationParameters &equation)
 Set equation parameters.
 

Public Attributes

double QE
 relative quantum efficiency
 
double gain
 gain [unit]
 
double gainSpread
 gain spread [unit]
 
double riseTime_ns
 rise time of analogue pulse [ns]
 
double TTS_ns
 transition time spread [ns]
 
double threshold
 threshold [npe]
 
double PunderAmplified
 probability of underamplified hit
 
double thresholdBand
 threshold-band [npe]
 
double mean_ns
 mean time-over-threshold of threshold-band hits [ns]
 
double sigma_ns
 time-over-threshold standard deviation of threshold-band hits [ns]
 
double slope
 slope [ns/npe]
 
double saturation
 saturation [ns]
 
bool slewing
 time slewing of analogue signal
 

Friends

std::istream & operator>> (std::istream &in, JPMTParameters &object)
 Stream input of PMT parameters.
 
std::ostream & operator<< (std::ostream &out, const JPMTParameters &object)
 Stream output of PMT parameters.
 

Detailed Description

Data structure for PMT parameters.

Definition at line 30 of file JPMTParameters.hh.

Constructor & Destructor Documentation

◆ JPMTParameters() [1/2]

JDETECTOR::JPMTParameters::JPMTParameters ( )
inline

Default constructor.

This constuctor provides for default values of all PMT parameters. Note that only when the value of TTS_ns is positive, it will be used to generate the PMT transition times. In this case, a normal distribution is used with a sigma equal to the specified value. By default, the value is negative. As a consequence, the PMT transition times will be generated according the measured distribution (see JPMTTransitTimeGenerator.hh).

Definition at line 42 of file JPMTParameters.hh.

43 {
44 this->QE = 1.0; // [unit]
45 this->gain = 1.0; // [unit]
46 this->gainSpread = 0.4; // [unit]
47 this->riseTime_ns = 7.24; // [ns]
48 this->TTS_ns = -1.0; // [ns]
49 this->threshold = 0.24; // [npe]
50 this->PunderAmplified = 0.05; //
51 this->thresholdBand = 0.12; // [npe]
52 this->mean_ns = 4.5; // [ns]
53 this->sigma_ns = 1.5; // [ns]
54 this->slope = 7.0; // [ns/npe]
55 this->saturation = 210; // [ns]
56 this->slewing = true; //
57 }
double sigma_ns
time-over-threshold standard deviation of threshold-band hits [ns]
double QE
relative quantum efficiency
double thresholdBand
threshold-band [npe]
double gainSpread
gain spread [unit]
double riseTime_ns
rise time of analogue pulse [ns]
double TTS_ns
transition time spread [ns]
double threshold
threshold [npe]
double mean_ns
mean time-over-threshold of threshold-band hits [ns]
double slope
slope [ns/npe]
double PunderAmplified
probability of underamplified hit
bool slewing
time slewing of analogue signal
double saturation
saturation [ns]

◆ JPMTParameters() [2/2]

JDETECTOR::JPMTParameters::JPMTParameters ( const double QE,
const double gain,
const double gainSpread,
const double riseTime_ns,
const double TTS_ns,
const double threshold,
const double PunderAmplified,
const double thresholdBand,
const double mean_ns,
const double sigma_ns,
const double slope,
const double saturation,
const bool slewing = true )
inline

Constructor.

Parameters
QErelative quantum efficiency
gaingain [unit]
gainSpreadgain spread [unit]
riseTime_nsrise time of analogue pulse [ns]
TTS_nstransition time spread [ns]
thresholdthreshold [npe]
thresholdBandthreshold-band [npe]
mean_nsmean time-over-threshold of threshold-band hits [ns]
sigma_nstime-over-threshold standard deviation of threshold-band hits [ns]
PunderAmplifiedprobability of underamplified hit
slopeslope [ns/npe]
saturationsaturation [ns]
slewingtime slewing of analogue signal

Definition at line 77 of file JPMTParameters.hh.

90 {
91 this->QE = QE;
92 this->gain = gain;
93 this->gainSpread = gainSpread;
95 this->TTS_ns = TTS_ns;
96 this->threshold = threshold;
99 this->mean_ns = mean_ns;
100 this->sigma_ns = sigma_ns;
101 this->slope = slope;
102 this->saturation = saturation;
103 this->slewing = slewing;
104 }

Member Function Documentation

◆ getPMTParameters()

const JPMTParameters & JDETECTOR::JPMTParameters::getPMTParameters ( ) const
inline

Get PMT parameters.

Returns
PMT parameters

Definition at line 112 of file JPMTParameters.hh.

113 {
114 return static_cast<const JPMTParameters&>(*this);
115 }
JPMTParameters()
Default constructor.

◆ setPMTParameters()

void JDETECTOR::JPMTParameters::setPMTParameters ( const JPMTParameters & parameters)
inline

Set PMT parameters.

Parameters
parametersPMT parameters

Definition at line 123 of file JPMTParameters.hh.

124 {
125 static_cast<JPMTParameters&>(*this) = parameters;
126 }

◆ is_valid()

bool JDETECTOR::JPMTParameters::is_valid ( ) const
inline

Check validity of PMT parameters.

Returns
true if valid; else false

Definition at line 134 of file JPMTParameters.hh.

135 {
136 if (this->QE < 0.0 ||
137 this->gain < 0.0 ||
138 this->gainSpread < 0.0 ||
139 this->threshold < 0.0 ||
140 this->thresholdBand < 0.0) {
141 return false;
142 }
143
144 return true;
145 }

◆ getType()

int JDETECTOR::JPMTParameters::getType ( ) const
inline

Get type for for time-slewing correction.

Returns
type

Definition at line 153 of file JPMTParameters.hh.

154 {
155 if (this->TTS_ns < 0.0)
156 return -lrint(this->TTS_ns);
157 else
158 return 0;
159 }

◆ getEquationParameters()

static JEquationParameters & JDETECTOR::JPMTParameters::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 209 of file JPMTParameters.hh.

210 {
211 static JEquationParameters equation("=", ",", "./", "#");
212
213 return equation;
214 }
Simple data structure to support I/O of equations (see class JLANG::JEquation).

◆ setEquationParameters()

static void JDETECTOR::JPMTParameters::setEquationParameters ( const JEquationParameters & equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 222 of file JPMTParameters.hh.

223 {
224 getEquationParameters() = equation;
225 }
static JEquationParameters & getEquationParameters()
Get equation parameters.

◆ getProperties() [1/2]

JProperties JDETECTOR::JPMTParameters::getProperties ( const JEquationParameters & equation = JPMTParameters::getEquationParameters())
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 233 of file JPMTParameters.hh.

234 {
235 return JPMTParametersHelper(*this, equation);
236 }

◆ getProperties() [2/2]

JProperties JDETECTOR::JPMTParameters::getProperties ( const JEquationParameters & equation = JPMTParameters::getEquationParameters()) const
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 244 of file JPMTParameters.hh.

245 {
246 return JPMTParametersHelper(*this, equation);
247 }

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
JPMTParameters & object )
friend

Stream input of PMT parameters.

Parameters
ininput stream
objectPMT parameters
Returns
input stream

Definition at line 169 of file JPMTParameters.hh.

170 {
171 return in >> object.QE
172 >> object.gain
173 >> object.gainSpread
174 >> object.riseTime_ns
175 >> object.TTS_ns
176 >> object.threshold;
177 }

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const JPMTParameters & object )
friend

Stream output of PMT parameters.

Parameters
outoutput stream
objectPMT parameters
Returns
output stream

Definition at line 187 of file JPMTParameters.hh.

188 {
189 using namespace JPP;
190
191 const JFormat format(out);
192
193 out << FIXED(5,3) << object.QE << ' '
194 << FIXED(5,3) << object.gain << ' '
195 << FIXED(5,3) << object.gainSpread << ' '
196 << FIXED(5,2) << object.riseTime_ns << ' '
197 << FIXED(5,2) << object.TTS_ns << ' '
198 << FIXED(5,3) << object.threshold;
199
200 return out;
201 }
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Definition JManip.hh:448
Auxiliary class to temporarily define format specifications.
Definition JManip.hh:636

Member Data Documentation

◆ QE

double JDETECTOR::JPMTParameters::QE

relative quantum efficiency

Definition at line 250 of file JPMTParameters.hh.

◆ gain

double JDETECTOR::JPMTParameters::gain

gain [unit]

Definition at line 251 of file JPMTParameters.hh.

◆ gainSpread

double JDETECTOR::JPMTParameters::gainSpread

gain spread [unit]

Definition at line 252 of file JPMTParameters.hh.

◆ riseTime_ns

double JDETECTOR::JPMTParameters::riseTime_ns

rise time of analogue pulse [ns]

Definition at line 253 of file JPMTParameters.hh.

◆ TTS_ns

double JDETECTOR::JPMTParameters::TTS_ns

transition time spread [ns]

Definition at line 254 of file JPMTParameters.hh.

◆ threshold

double JDETECTOR::JPMTParameters::threshold

threshold [npe]

Definition at line 255 of file JPMTParameters.hh.

◆ PunderAmplified

double JDETECTOR::JPMTParameters::PunderAmplified

probability of underamplified hit

Definition at line 256 of file JPMTParameters.hh.

◆ thresholdBand

double JDETECTOR::JPMTParameters::thresholdBand

threshold-band [npe]

Definition at line 257 of file JPMTParameters.hh.

◆ mean_ns

double JDETECTOR::JPMTParameters::mean_ns

mean time-over-threshold of threshold-band hits [ns]

Definition at line 258 of file JPMTParameters.hh.

◆ sigma_ns

double JDETECTOR::JPMTParameters::sigma_ns

time-over-threshold standard deviation of threshold-band hits [ns]

Definition at line 259 of file JPMTParameters.hh.

◆ slope

double JDETECTOR::JPMTParameters::slope

slope [ns/npe]

Definition at line 260 of file JPMTParameters.hh.

◆ saturation

double JDETECTOR::JPMTParameters::saturation

saturation [ns]

Definition at line 261 of file JPMTParameters.hh.

◆ slewing

bool JDETECTOR::JPMTParameters::slewing

time slewing of analogue signal

Definition at line 262 of file JPMTParameters.hh.


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