Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
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. More...
 
 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. More...
 
const JPMTParametersgetPMTParameters () const
 Get PMT parameters. More...
 
void setPMTParameters (const JPMTParameters &parameters)
 Set PMT parameters. More...
 
bool is_valid () const
 Check validity of PMT parameters. More...
 
JProperties getProperties (const JEquationParameters &equation=JPMTParameters::getEquationParameters())
 Get properties of this class. More...
 
JProperties getProperties (const JEquationParameters &equation=JPMTParameters::getEquationParameters()) const
 Get properties of this class. More...
 

Static Public Member Functions

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

Public Attributes

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

Friends

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

Detailed Description

Data structure for PMT parameters.

Definition at line 29 of file JPMTParameters.hh.

Constructor & Destructor Documentation

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 gain
gain [unit]
double gainSpread
gain spread [unit]
double threshold
threshold [npe]
double PunderAmplified
probability of underamplified hit
double thresholdBand
threshold-band [npe]
double riseTime_ns
rise time of analogue pulse [ns]
bool slewing
time slewing of analogue signal
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 TTS_ns
transition time spread [ns]
double saturation
saturation [ns]
double QE
relative quantum efficiency
double slope
slope [ns/npe]
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;
93  this->riseTime_ns = riseTime_ns;
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  }
double gain
gain [unit]
double gainSpread
gain spread [unit]
double threshold
threshold [npe]
double PunderAmplified
probability of underamplified hit
double thresholdBand
threshold-band [npe]
double riseTime_ns
rise time of analogue pulse [ns]
bool slewing
time slewing of analogue signal
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 TTS_ns
transition time spread [ns]
double saturation
saturation [ns]
double QE
relative quantum efficiency
double slope
slope [ns/npe]

Member Function Documentation

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  }
Data structure for PMT parameters.
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  }
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
Data structure for PMT parameters.
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  }
double gain
gain [unit]
double gainSpread
gain spread [unit]
double threshold
threshold [npe]
double thresholdBand
threshold-band [npe]
double QE
relative quantum efficiency
static JEquationParameters& JDETECTOR::JPMTParameters::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 192 of file JPMTParameters.hh.

193  {
194  static JEquationParameters equation("=", ",", "./", "#");
195 
196  return equation;
197  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
static void JDETECTOR::JPMTParameters::setEquationParameters ( const JEquationParameters equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 205 of file JPMTParameters.hh.

206  {
207  getEquationParameters() = equation;
208  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
JProperties JDETECTOR::JPMTParameters::getProperties ( const JEquationParameters equation = JPMTParameters::getEquationParameters())
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 216 of file JPMTParameters.hh.

217  {
218  return JPMTParametersHelper(*this, equation);
219  }
JProperties JDETECTOR::JPMTParameters::getProperties ( const JEquationParameters equation = JPMTParameters::getEquationParameters()) const
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 227 of file JPMTParameters.hh.

228  {
229  return JPMTParametersHelper(*this, equation);
230  }

Friends And Related Function Documentation

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  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
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  const JFormat format(out);
175 
176  out << FIXED(5,3) << object.QE << ' '
177  << FIXED(5,3) << object.gain << ' '
178  << FIXED(5,3) << object.gainSpread << ' '
179  << FIXED(5,2) << object.riseTime_ns << ' '
180  << FIXED(5,2) << object.TTS_ns << ' '
181  << FIXED(5,3) << object.threshold;
182 
183  return out;
184  }
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:446
Auxiliary class to temporarily define format specifications.
Definition: JManip.hh:632

Member Data Documentation

double JDETECTOR::JPMTParameters::QE

relative quantum efficiency

Definition at line 233 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::gain

gain [unit]

Definition at line 234 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::gainSpread

gain spread [unit]

Definition at line 235 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::riseTime_ns

rise time of analogue pulse [ns]

Definition at line 236 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::TTS_ns

transition time spread [ns]

Definition at line 237 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::threshold

threshold [npe]

Definition at line 238 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::PunderAmplified

probability of underamplified hit

Definition at line 239 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::thresholdBand

threshold-band [npe]

Definition at line 240 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::mean_ns

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

Definition at line 241 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::sigma_ns

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

Definition at line 242 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::slope

slope [ns/npe]

Definition at line 243 of file JPMTParameters.hh.

double JDETECTOR::JPMTParameters::saturation

saturation [ns]

Definition at line 244 of file JPMTParameters.hh.

bool JDETECTOR::JPMTParameters::slewing

time slewing of analogue signal

Definition at line 245 of file JPMTParameters.hh.


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