Jpp  18.5.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
JCALIBRATE::JPMTParameters_t Struct Reference

Fit parameters for single PMT. More...

#include <JFitK40.hh>

Public Member Functions

 JPMTParameters_t ()
 Default constructor. More...
 
void reset ()
 Reset. More...
 
size_t getN () const
 Get number of fit parameters. More...
 
int getIndex (JParameter_t JPMTParameters_t::*p) const
 Get index of parameter. More...
 
void disable ()
 Disable PMT. More...
 
void enable ()
 Enable PMT. More...
 

Static Public Member Functions

static const JPMTParameters_tgetInstance ()
 Get default values. More...
 

Public Attributes

bool status
 status More...
 
JParameter_t QE
 relative quantum efficiency [unit] More...
 
JParameter_t TTS
 transition-time spread [ns] More...
 
JParameter_t t0
 time offset [ns] More...
 
JParameter_t bg
 background [Hz/ns] More...
 

Static Public Attributes

static constexpr double QE_MIN = 0.0
 minimal QE More...
 
static constexpr double QE_MAX = 2.0
 maximal QE More...
 
static constexpr double TTS_NS = 2.0
 start value transition-time spread [ns] More...
 

Friends

std::ostream & operator<< (std::ostream &out, const JPMTParameters_t &object)
 Write PMT parameters to output stream. More...
 

Detailed Description

Fit parameters for single PMT.

Definition at line 423 of file JFitK40.hh.

Constructor & Destructor Documentation

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 432 of file JFitK40.hh.

433  {
434  reset();
435  }

Member Function Documentation

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 441 of file JFitK40.hh.

442  {
443  status = true;
444 
445  QE .set(0.0);
446  TTS.set(0.0);
447  t0 .set(0.0);
448  bg .set(0.0);
449  }
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561
static const JPMTParameters_t& JCALIBRATE::JPMTParameters_t::getInstance ( )
inlinestatic

Get default values.

Returns
parameters

Definition at line 457 of file JFitK40.hh.

458  {
460 
462 
463  parameters.status = true;
464 
465  parameters.QE .set(1.0);
466  parameters.TTS.set(TTS_NS);
467  parameters.t0 .set(0.0);
468  parameters.bg .set(0.0);
469 
470  return parameters;
471  }
JTOOLS::JRange< double > range_type
Type definition for range of parameter values.
Definition: JFitK40.hh:123
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition: JFitK40.hh:427
*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
static constexpr double QE_MAX
maximal QE
Definition: JFitK40.hh:426
static constexpr double QE_MIN
minimal QE
Definition: JFitK40.hh:425
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561
Fit parameters for single PMT.
Definition: JFitK40.hh:423
size_t JCALIBRATE::JPMTParameters_t::getN ( ) const
inline

Get number of fit parameters.

Returns
number of parameters

Definition at line 479 of file JFitK40.hh.

480  {
481  return ((QE. isFree() ? 1 : 0) +
482  (TTS.isFree() ? 1 : 0) +
483  (t0 .isFree() ? 1 : 0) +
484  (bg .isFree() ? 1 : 0));
485  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561
bool isFree() const
Check if parameter is free.
Definition: JFitK40.hh:238
int JCALIBRATE::JPMTParameters_t::getIndex ( JParameter_t JPMTParameters_t::*  p) const
inline

Get index of parameter.

Parameters
ppointer to data member
Returns
index

Definition at line 494 of file JFitK40.hh.

495  {
496  if (!(this->*p).isFree()) {
497  return INVALID_INDEX;
498  }
499 
500  int N = 0;
501 
502  if (p == &JPMTParameters_t::QE ) { return N; }; if (QE .isFree()) { ++N; }
503  if (p == &JPMTParameters_t::TTS) { return N; }; if (TTS.isFree()) { ++N; }
504  if (p == &JPMTParameters_t::t0 ) { return N; }; if (t0 .isFree()) { ++N; }
505  if (p == &JPMTParameters_t::bg ) { return N; }; if (bg .isFree()) { ++N; }
506 
507  return INVALID_INDEX;
508  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
static const int INVALID_INDEX
invalid index
Definition: JFitK40.hh:58
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
bool isFree() const
Check if parameter is free.
Definition: JFitK40.hh:238
void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 514 of file JFitK40.hh.

515  {
516  status = false;
517 
518  QE .fix(0.0);
519  TTS.fix(TTS);
520  t0 .fix(0.0);
521  bg .fix(0.0);
522  }
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
void fix()
Fix current value.
Definition: JFitK40.hh:278
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561
void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 528 of file JFitK40.hh.

529  {
530  status = true;
531 
532  QE .set();
533  TTS.set();
534  t0 .set();
535  bg .set();
536  }
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t t0
time offset [ns]
Definition: JFitK40.hh:562
JParameter_t bg
background [Hz/ns]
Definition: JFitK40.hh:563
JParameter_t QE
relative quantum efficiency [unit]
Definition: JFitK40.hh:560
JParameter_t TTS
transition-time spread [ns]
Definition: JFitK40.hh:561

Friends And Related Function Documentation

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

Write PMT parameters to output stream.

Parameters
outoutput stream
objectPMT parameters
Returns
output stream

Definition at line 546 of file JFitK40.hh.

547  {
548  using namespace std;
549 
550  out << "QE " << FIXED(7,3) << object.QE << endl;
551  out << "TTS " << FIXED(7,3) << object.TTS << endl;
552  out << "t0 " << FIXED(7,3) << object.t0 << endl;
553  out << "bg " << FIXED(7,3) << object.bg << endl;
554 
555  return out;
556  }
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:446

Member Data Documentation

constexpr double JCALIBRATE::JPMTParameters_t::QE_MIN = 0.0
static

minimal QE

Definition at line 425 of file JFitK40.hh.

constexpr double JCALIBRATE::JPMTParameters_t::QE_MAX = 2.0
static

maximal QE

Definition at line 426 of file JFitK40.hh.

constexpr double JCALIBRATE::JPMTParameters_t::TTS_NS = 2.0
static

start value transition-time spread [ns]

Definition at line 427 of file JFitK40.hh.

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 559 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 560 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 561 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 562 of file JFitK40.hh.

JParameter_t JCALIBRATE::JPMTParameters_t::bg

background [Hz/ns]

Definition at line 563 of file JFitK40.hh.


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