Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
JCALIBRATE::JPMTParameters_t Struct Reference

Fit parameters for single PMT. More...

#include <JFitK40.hh>

Public Member Functions

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

Static Public Member Functions

static const JPMTParameters_tgetInstance ()
 Get default values.
 

Public Attributes

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

Static Public Attributes

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

Friends

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

Detailed Description

Fit parameters for single PMT.

Definition at line 425 of file JFitK40.hh.

Constructor & Destructor Documentation

◆ JPMTParameters_t()

JCALIBRATE::JPMTParameters_t::JPMTParameters_t ( )
inline

Default constructor.

Definition at line 434 of file JFitK40.hh.

435 {
436 reset();
437 }

Member Function Documentation

◆ reset()

void JCALIBRATE::JPMTParameters_t::reset ( )
inline

Reset.

Definition at line 443 of file JFitK40.hh.

444 {
445 status = true;
446
447 QE .set(0.0);
448 TTS.set(0.0);
449 t0 .set(0.0);
450 bg .set(0.0);
451 }
void set()
Set current value.
Definition JFitK40.hh:271
JParameter_t t0
time offset [ns]
Definition JFitK40.hh:564
JParameter_t TTS
transition-time spread [ns]
Definition JFitK40.hh:563
JParameter_t bg
background [Hz/ns]
Definition JFitK40.hh:565
JParameter_t QE
relative quantum efficiency [unit]
Definition JFitK40.hh:562

◆ getInstance()

static const JPMTParameters_t & JCALIBRATE::JPMTParameters_t::getInstance ( )
inlinestatic

Get default values.

Returns
parameters

Definition at line 459 of file JFitK40.hh.

460 {
461 static JPMTParameters_t parameters;
462
463 parameters.QE.range = JParameter_t::range_type(QE_MIN, QE_MAX);
464
465 parameters.status = true;
466
467 parameters.QE .set(1.0);
468 parameters.TTS.set(TTS_NS);
469 parameters.t0 .set(0.0);
470 parameters.bg .set(0.0);
471
472 return parameters;
473 }
JTOOLS::JRange< double > range_type
Type definition for range of parameter values.
Definition JFitK40.hh:125
static constexpr double QE_MIN
minimal QE
Definition JFitK40.hh:427
static constexpr double TTS_NS
start value transition-time spread [ns]
Definition JFitK40.hh:429
JPMTParameters_t()
Default constructor.
Definition JFitK40.hh:434
static constexpr double QE_MAX
maximal QE
Definition JFitK40.hh:428

◆ getN()

size_t JCALIBRATE::JPMTParameters_t::getN ( ) const
inline

Get number of fit parameters.

Returns
number of parameters

Definition at line 481 of file JFitK40.hh.

482 {
483 return ((QE. isFree() ? 1 : 0) +
484 (TTS.isFree() ? 1 : 0) +
485 (t0 .isFree() ? 1 : 0) +
486 (bg .isFree() ? 1 : 0));
487 }
bool isFree() const
Check if parameter is free.
Definition JFitK40.hh:240

◆ getIndex()

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 496 of file JFitK40.hh.

497 {
498 if (!(this->*p).isFree()) {
499 return INVALID_INDEX;
500 }
501
502 int N = 0;
503
504 if (p == &JPMTParameters_t::QE ) { return N; }; if (QE .isFree()) { ++N; }
505 if (p == &JPMTParameters_t::TTS) { return N; }; if (TTS.isFree()) { ++N; }
506 if (p == &JPMTParameters_t::t0 ) { return N; }; if (t0 .isFree()) { ++N; }
507 if (p == &JPMTParameters_t::bg ) { return N; }; if (bg .isFree()) { ++N; }
508
509 return INVALID_INDEX;
510 }
static const int INVALID_INDEX
invalid index
Definition JFitK40.hh:60

◆ disable()

void JCALIBRATE::JPMTParameters_t::disable ( )
inline

Disable PMT.

Definition at line 516 of file JFitK40.hh.

517 {
518 status = false;
519
520 QE .fix(0.0);
521 TTS.fix(TTS);
522 t0 .fix(0.0);
523 bg .fix(0.0);
524 }
void fix()
Fix current value.
Definition JFitK40.hh:280

◆ enable()

void JCALIBRATE::JPMTParameters_t::enable ( )
inline

Enable PMT.

Definition at line 530 of file JFitK40.hh.

531 {
532 status = true;
533
534 QE .set();
535 TTS.set();
536 t0 .set();
537 bg .set();
538 }

Friends And Related Symbol Documentation

◆ operator<<

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 548 of file JFitK40.hh.

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

Member Data Documentation

◆ QE_MIN

double JCALIBRATE::JPMTParameters_t::QE_MIN = 0.0
staticconstexpr

minimal QE

Definition at line 427 of file JFitK40.hh.

◆ QE_MAX

double JCALIBRATE::JPMTParameters_t::QE_MAX = 2.0
staticconstexpr

maximal QE

Definition at line 428 of file JFitK40.hh.

◆ TTS_NS

double JCALIBRATE::JPMTParameters_t::TTS_NS = 2.0
staticconstexpr

start value transition-time spread [ns]

Definition at line 429 of file JFitK40.hh.

◆ status

bool JCALIBRATE::JPMTParameters_t::status

status

Definition at line 561 of file JFitK40.hh.

◆ QE

JParameter_t JCALIBRATE::JPMTParameters_t::QE

relative quantum efficiency [unit]

Definition at line 562 of file JFitK40.hh.

◆ TTS

JParameter_t JCALIBRATE::JPMTParameters_t::TTS

transition-time spread [ns]

Definition at line 563 of file JFitK40.hh.

◆ t0

JParameter_t JCALIBRATE::JPMTParameters_t::t0

time offset [ns]

Definition at line 564 of file JFitK40.hh.

◆ bg

JParameter_t JCALIBRATE::JPMTParameters_t::bg

background [Hz/ns]

Definition at line 565 of file JFitK40.hh.


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