Jpp test-rotations-old
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.
 
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 29 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 41 of file JPMTParameters.hh.

42 {
43 this->QE = 1.0; // [unit]
44 this->gain = 1.0; // [unit]
45 this->gainSpread = 0.4; // [unit]
46 this->riseTime_ns = 7.24; // [ns]
47 this->TTS_ns = -1.0; // [ns]
48 this->threshold = 0.24; // [npe]
49 this->PunderAmplified = 0.05; //
50 this->thresholdBand = 0.12; // [npe]
51 this->mean_ns = 4.5; // [ns]
52 this->sigma_ns = 1.5; // [ns]
53 this->slope = 7.0; // [ns/npe]
54 this->saturation = 210; // [ns]
55 this->slewing = true; //
56 }
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 76 of file JPMTParameters.hh.

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

Member Function Documentation

◆ getPMTParameters()

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

Get PMT parameters.

Returns
PMT parameters

Definition at line 111 of file JPMTParameters.hh.

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

◆ setPMTParameters()

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

Set PMT parameters.

Parameters
parametersPMT parameters

Definition at line 122 of file JPMTParameters.hh.

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

◆ is_valid()

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

Check validity of PMT parameters.

Returns
true if valid; else false

Definition at line 133 of file JPMTParameters.hh.

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

◆ getEquationParameters()

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

Get equation parameters.

Returns
equation parameters

Definition at line 194 of file JPMTParameters.hh.

195 {
196 static JEquationParameters equation("=", ",", "./", "#");
197
198 return equation;
199 }
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 207 of file JPMTParameters.hh.

208 {
209 getEquationParameters() = equation;
210 }
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 218 of file JPMTParameters.hh.

219 {
220 return JPMTParametersHelper(*this, equation);
221 }

◆ 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 229 of file JPMTParameters.hh.

230 {
231 return JPMTParametersHelper(*this, equation);
232 }

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 154 of file JPMTParameters.hh.

155 {
156 return in >> object.QE
157 >> object.gain
158 >> object.gainSpread
159 >> object.riseTime_ns
160 >> object.TTS_ns
161 >> object.threshold;
162 }

◆ 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 172 of file JPMTParameters.hh.

173 {
174 using namespace JPP;
175
176 const JFormat format(out);
177
178 out << FIXED(5,3) << object.QE << ' '
179 << FIXED(5,3) << object.gain << ' '
180 << FIXED(5,3) << object.gainSpread << ' '
181 << FIXED(5,2) << object.riseTime_ns << ' '
182 << FIXED(5,2) << object.TTS_ns << ' '
183 << FIXED(5,3) << object.threshold;
184
185 return out;
186 }
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 235 of file JPMTParameters.hh.

◆ gain

double JDETECTOR::JPMTParameters::gain

gain [unit]

Definition at line 236 of file JPMTParameters.hh.

◆ gainSpread

double JDETECTOR::JPMTParameters::gainSpread

gain spread [unit]

Definition at line 237 of file JPMTParameters.hh.

◆ riseTime_ns

double JDETECTOR::JPMTParameters::riseTime_ns

rise time of analogue pulse [ns]

Definition at line 238 of file JPMTParameters.hh.

◆ TTS_ns

double JDETECTOR::JPMTParameters::TTS_ns

transition time spread [ns]

Definition at line 239 of file JPMTParameters.hh.

◆ threshold

double JDETECTOR::JPMTParameters::threshold

threshold [npe]

Definition at line 240 of file JPMTParameters.hh.

◆ PunderAmplified

double JDETECTOR::JPMTParameters::PunderAmplified

probability of underamplified hit

Definition at line 241 of file JPMTParameters.hh.

◆ thresholdBand

double JDETECTOR::JPMTParameters::thresholdBand

threshold-band [npe]

Definition at line 242 of file JPMTParameters.hh.

◆ mean_ns

double JDETECTOR::JPMTParameters::mean_ns

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

Definition at line 243 of file JPMTParameters.hh.

◆ sigma_ns

double JDETECTOR::JPMTParameters::sigma_ns

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

Definition at line 244 of file JPMTParameters.hh.

◆ slope

double JDETECTOR::JPMTParameters::slope

slope [ns/npe]

Definition at line 245 of file JPMTParameters.hh.

◆ saturation

double JDETECTOR::JPMTParameters::saturation

saturation [ns]

Definition at line 246 of file JPMTParameters.hh.

◆ slewing

bool JDETECTOR::JPMTParameters::slewing

time slewing of analogue signal

Definition at line 247 of file JPMTParameters.hh.


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