Jpp  16.0.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Private Member Functions | Friends | List of all members
KM3NETDAQ::JDAQRate Class Reference

Data storage class for rate measurement of one PMT. More...

#include <JDAQSummaryFrame.hh>

Public Types

typedef unsigned char JRate_t
 

Public Member Functions

 JDAQRate ()
 Default constructor. More...
 
JRate_t getValue () const
 Get value. More...
 
void setValue (const int numberOfHits, const double frameTime_ns)
 Set value. More...
 
void setValue (const double rate_Hz)
 Set value. More...
 
double getRate () const
 Get count rate. More...
 
double getWeight () const
 Get weight. More...
 
JDAQRatemul (const double factor)
 Scale rate. More...
 
JDAQRatediv (const double factor)
 Scale rate. More...
 

Static Public Member Functions

static double getMinimalRate ()
 Get minimal rate (below this, value is set to zero) More...
 
static double getMaximalRate ()
 Get maximal rate (above this, value is set to maximum) More...
 
static JRate_t getValue (const int numberOfHits, const double frameTime_ns)
 Get value. More...
 
static JRate_t getValue (const double rate_Hz)
 Get value. More...
 
static double getRate (const JRate_t value)
 Get count rate. More...
 
static double getWeight (const JRate_t value)
 Get weight. More...
 
static int getN ()
 Get number of bins. More...
 
static const double * getData (const double factor=1.0)
 Get abscissa values. More...
 

Protected Attributes

JRate_t value
 

Static Private Member Functions

static const double getFactor ()
 Get conversion factor. More...
 
static double get_rate (const double value)
 Get count rate. More...
 

Friends

class JDAQSummaryFrame
 

Detailed Description

Data storage class for rate measurement of one PMT.

Note that the rate value is compressed. The number of bins and corresponding abscissa values can be obtained with methods JDAQRare::getN and JDAQRate::getData, respectively.

Definition at line 36 of file JDAQSummaryFrame.hh.

Member Typedef Documentation

typedef unsigned char KM3NETDAQ::JDAQRate::JRate_t

Definition at line 42 of file JDAQSummaryFrame.hh.

Constructor & Destructor Documentation

KM3NETDAQ::JDAQRate::JDAQRate ( )
inline

Default constructor.

Definition at line 171 of file JDAQSummaryFrame.hh.

171  :
172  value(0)
173  {}

Member Function Documentation

static double KM3NETDAQ::JDAQRate::getMinimalRate ( )
inlinestatic

Get minimal rate (below this, value is set to zero)

Returns
rate [Hz]

Definition at line 50 of file JDAQSummaryFrame.hh.

51  {
52  return 2.0e3;
53  }
static double KM3NETDAQ::JDAQRate::getMaximalRate ( )
inlinestatic

Get maximal rate (above this, value is set to maximum)

Returns
rate [Hz]

Definition at line 61 of file JDAQSummaryFrame.hh.

62  {
63  return 2.0e6;
64  }
static JRate_t KM3NETDAQ::JDAQRate::getValue ( const int  numberOfHits,
const double  frameTime_ns 
)
inlinestatic

Get value.

Parameters
numberOfHitsnumber of hits
frameTime_nsframe time [ns]
Returns
value

Definition at line 74 of file JDAQSummaryFrame.hh.

75  {
76  return getValue(numberOfHits * 1.0e9 / frameTime_ns);
77  }
JRate_t getValue() const
Get value.
static JRate_t KM3NETDAQ::JDAQRate::getValue ( const double  rate_Hz)
inlinestatic

Get value.

Parameters
rate_Hzrate [Hz]
Returns
value

Definition at line 86 of file JDAQSummaryFrame.hh.

87  {
88  if (rate_Hz <= getMinimalRate())
89  return 0;
90  else if (rate_Hz >= getMaximalRate())
91  return std::numeric_limits<JRate_t>::max();
92  else
93  return (JRate_t) (log(rate_Hz/getMinimalRate()) / getFactor() + 0.5);
94  }
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
static double getMaximalRate()
Get maximal rate (above this, value is set to maximum)
static const double getFactor()
Get conversion factor.
static double KM3NETDAQ::JDAQRate::getRate ( const JRate_t  value)
inlinestatic

Get count rate.

Parameters
valuevalue
Returns
rate [Hz]

Definition at line 103 of file JDAQSummaryFrame.hh.

104  {
105  if (value == 0)
106  return 0.0;
107  else
108  return get_rate(value);
109  }
static double get_rate(const double value)
Get count rate.
static double KM3NETDAQ::JDAQRate::getWeight ( const JRate_t  value)
inlinestatic

Get weight.

Parameters
valuevalue
Returns
weight [Hz^-1]

Definition at line 118 of file JDAQSummaryFrame.hh.

119  {
120  double W = 1.0;
121 
122  if (value == 0)
123  W = get_rate(0.5) - getMinimalRate();
124  else if (value == std::numeric_limits<JRate_t>::max())
125  W = getMaximalRate() - get_rate(std::numeric_limits<JRate_t>::max() - 0.5);
126  else
127  W = get_rate((double) value + 0.5) - get_rate((double) value - 0.5);
128 
129  return 1.0 / W;
130  }
static double get_rate(const double value)
Get count rate.
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
static double getMaximalRate()
Get maximal rate (above this, value is set to maximum)
static int KM3NETDAQ::JDAQRate::getN ( )
inlinestatic

Get number of bins.

Returns
number of bins

Definition at line 138 of file JDAQSummaryFrame.hh.

139  {
140  return (int) std::numeric_limits<JRate_t>::max() + 1;
141  }
static const double* KM3NETDAQ::JDAQRate::getData ( const double  factor = 1.0)
inlinestatic

Get abscissa values.

Parameters
factorscaling factor
Returns
abscissa values

Definition at line 150 of file JDAQSummaryFrame.hh.

151  {
152  static std::vector<double> buffer;
153 
154  buffer.clear();
155 
156  buffer.push_back(getMinimalRate() * factor);
157 
158  for (int i = 1; i != JDAQRate::getN(); ++i) {
159  buffer.push_back(get_rate(i - 0.5) * factor);
160  }
161 
162  buffer.push_back(getMaximalRate() * factor);
163 
164  return buffer.data();
165  }
static double get_rate(const double value)
Get count rate.
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
static int getN()
Get number of bins.
static double getMaximalRate()
Get maximal rate (above this, value is set to maximum)
JRate_t KM3NETDAQ::JDAQRate::getValue ( ) const
inline

Get value.

Returns
value

Definition at line 181 of file JDAQSummaryFrame.hh.

182  {
183  return value;
184  }
void KM3NETDAQ::JDAQRate::setValue ( const int  numberOfHits,
const double  frameTime_ns 
)
inline

Set value.

Parameters
numberOfHitsnumber of hits
frameTime_nsframe time [ns]

Definition at line 193 of file JDAQSummaryFrame.hh.

194  {
195  value = getValue(numberOfHits, frameTime_ns);
196  }
JRate_t getValue() const
Get value.
void KM3NETDAQ::JDAQRate::setValue ( const double  rate_Hz)
inline

Set value.

Parameters
rate_Hzrate [Hz]

Definition at line 204 of file JDAQSummaryFrame.hh.

205  {
206  value = getValue(rate_Hz);
207  }
JRate_t getValue() const
Get value.
double KM3NETDAQ::JDAQRate::getRate ( ) const
inline

Get count rate.

Returns
rate [Hz]

Definition at line 215 of file JDAQSummaryFrame.hh.

216  {
217  return getRate(value);
218  }
double getRate() const
Get count rate.
double KM3NETDAQ::JDAQRate::getWeight ( ) const
inline

Get weight.

Returns
weight [Hz^-1]

Definition at line 226 of file JDAQSummaryFrame.hh.

227  {
228  return getWeight(value);
229  }
double getWeight() const
Get weight.
JDAQRate& KM3NETDAQ::JDAQRate::mul ( const double  factor)
inline

Scale rate.

Parameters
factormultiplication factor
Returns
this rate

Definition at line 238 of file JDAQSummaryFrame.hh.

239  {
240  setValue(getRate() * factor);
241 
242  return *this;
243  }
double getRate() const
Get count rate.
void setValue(const int numberOfHits, const double frameTime_ns)
Set value.
JDAQRate& KM3NETDAQ::JDAQRate::div ( const double  factor)
inline

Scale rate.

Parameters
factormultiplication factor
Returns
this rate

Definition at line 252 of file JDAQSummaryFrame.hh.

253  {
254  setValue(getRate() / factor);
255 
256  return *this;
257  }
double getRate() const
Get count rate.
void setValue(const int numberOfHits, const double frameTime_ns)
Set value.
static const double KM3NETDAQ::JDAQRate::getFactor ( )
inlinestaticprivate

Get conversion factor.

Returns
factor

Definition at line 270 of file JDAQSummaryFrame.hh.

271  {
272  return std::log(getMaximalRate() / getMinimalRate()) / std::numeric_limits<JRate_t>::max();
273  }
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
static double getMaximalRate()
Get maximal rate (above this, value is set to maximum)
static double KM3NETDAQ::JDAQRate::get_rate ( const double  value)
inlinestaticprivate

Get count rate.

Parameters
valuevalue
Returns
rate [Hz]

Definition at line 282 of file JDAQSummaryFrame.hh.

283  {
284  return getMinimalRate() * std::exp(value * getFactor());
285  }
static double getMinimalRate()
Get minimal rate (below this, value is set to zero)
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
static const double getFactor()
Get conversion factor.

Friends And Related Function Documentation

friend class JDAQSummaryFrame
friend

Definition at line 39 of file JDAQSummaryFrame.hh.

Member Data Documentation

JRate_t KM3NETDAQ::JDAQRate::value
protected

Definition at line 261 of file JDAQSummaryFrame.hh.


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