Public Member Functions | Private Member Functions | Private Attributes | List of all members
mix::RawDigitAdder_HardSaturate Class Reference

#include <RawDigitAdder_HardSaturate.h>

Inheritance diagram for mix::RawDigitAdder_HardSaturate:
mix::RawDigitAdder

Public Member Functions

 RawDigitAdder_HardSaturate (bool t=true)
 
void SetSaturationPoint (short x)
 
void SetScaleFirstInput (float f1)
 
void SetScaleSecondInput (float f2)
 
void SetScaleInputs (float f1, float f2)
 
std::string Name ()
 
- Public Member Functions inherited from mix::RawDigitAdder
 RawDigitAdder (bool t=true)
 Default constructor. More...
 
void AddRawDigits (std::vector< short > const &, std::vector< short > const &, std::vector< short > &)
 
void AddRawDigits (std::vector< short > const &, std::vector< short > &)
 
void AddRawDigits (std::vector< std::vector< short > > const &, std::vector< short > &)
 
void SetPedestalFirstInput (float f1)
 
void SetPedestalSecondInput (float f2)
 
void SetPedestalInputs (float f1, float f2)
 
virtual ~RawDigitAdder ()
 Default destructor. More...
 

Private Member Functions

void SetScaleInput (float f, float &_scale)
 
void AddRawDigit (short const &, short const &, short &)
 

Private Attributes

short _max
 
float _scale1
 
float _scale2
 

Additional Inherited Members

- Protected Member Functions inherited from mix::RawDigitAdder
void FixOverflow (short &)
 
- Protected Attributes inherited from mix::RawDigitAdder
bool _throw
 

Detailed Description

Definition at line 35 of file RawDigitAdder_HardSaturate.h.

Constructor & Destructor Documentation

RawDigitAdder_HardSaturate::RawDigitAdder_HardSaturate ( bool  t = true)

Member Function Documentation

void RawDigitAdder_HardSaturate::AddRawDigit ( short const &  d1,
short const &  d2,
short &  d_out 
)
privatevirtual

Reimplemented from mix::RawDigitAdder.

Definition at line 36 of file RawDigitAdder_HardSaturate.cxx.

37 {
38  d_out = (short)(std::round((float)d1 * _scale1)) +
39  (short)(std::round((float)d2 * _scale2));
40  FixOverflow(d_out);
41  if(d_out > _max)
42  d_out=_max;
43 }
void FixOverflow(short &)
std::string mix::RawDigitAdder_HardSaturate::Name ( )
inlinevirtual

Reimplemented from mix::RawDigitAdder.

Definition at line 48 of file RawDigitAdder_HardSaturate.h.

48 { return "RawDigitAdder_HardSaturate"; }
void RawDigitAdder_HardSaturate::SetSaturationPoint ( short  x)

Definition at line 16 of file RawDigitAdder_HardSaturate.cxx.

17 {
18  if(x<0){
19  if(_throw)
20  throw std::runtime_error("Error in RawDigitAdder_HardSaturate::SetSaturationPoint : point < 0");
21  return;
22  }
23  _max = x;
24 }
list x
Definition: train.py:276
void mix::RawDigitAdder_HardSaturate::SetScaleFirstInput ( float  f1)
inline
void RawDigitAdder_HardSaturate::SetScaleInput ( float  f,
float &  _scale 
)
private

Definition at line 26 of file RawDigitAdder_HardSaturate.cxx.

27 {
28  if(f<0){
29  if(_throw)
30  throw std::runtime_error("Error in RawDigitAdder_HardSaturate::SetScaleInput : scale < 0");
31  return;
32  }
33  _scale = f;
34 }
void mix::RawDigitAdder_HardSaturate::SetScaleInputs ( float  f1,
float  f2 
)
inline
void mix::RawDigitAdder_HardSaturate::SetScaleSecondInput ( float  f2)
inline

Member Data Documentation

short mix::RawDigitAdder_HardSaturate::_max
private

Definition at line 52 of file RawDigitAdder_HardSaturate.h.

float mix::RawDigitAdder_HardSaturate::_scale1
private

Definition at line 53 of file RawDigitAdder_HardSaturate.h.

float mix::RawDigitAdder_HardSaturate::_scale2
private

Definition at line 53 of file RawDigitAdder_HardSaturate.h.


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