FairRoot/PandaRoot
Public Member Functions | Private Attributes | List of all members
PndEmcPSAFPGAFilterMWD Class Reference

#include <PndEmcPSAFPGAFilterMWD.h>

Inheritance diagram for PndEmcPSAFPGAFilterMWD:
PndEmcPSAFPGAFilterLine

Public Member Functions

 PndEmcPSAFPGAFilterMWD ()
 
virtual ~PndEmcPSAFPGAFilterMWD ()
 
void set (float tau, unsigned int newBufferSize)
 
virtual float put (float valueToStore)
 
void resetToZero ()
 

Private Attributes

std::vector< float > buffer
 
unsigned int bpointer
 
float sum
 
float lambda
 

Detailed Description

Definition at line 7 of file PndEmcPSAFPGAFilterMWD.h.

Constructor & Destructor Documentation

PndEmcPSAFPGAFilterMWD::PndEmcPSAFPGAFilterMWD ( )

Definition at line 4 of file PndEmcPSAFPGAFilterMWD.cxx.

4  :
5  buffer(0)
6  ,bpointer(0)
7 {
8 }
std::vector< float > buffer
PndEmcPSAFPGAFilterMWD::~PndEmcPSAFPGAFilterMWD ( )
virtual

Definition at line 10 of file PndEmcPSAFPGAFilterMWD.cxx.

References buffer.

11 {
12  buffer.resize(0);
13 }
std::vector< float > buffer

Member Function Documentation

float PndEmcPSAFPGAFilterMWD::put ( float  valueToStore)
virtual

Implements PndEmcPSAFPGAFilterLine.

Definition at line 26 of file PndEmcPSAFPGAFilterMWD.cxx.

References bpointer, buffer, lambda, and sum.

Referenced by PndEmcPSAFPGADigitalFilterAnalyser::put(), and PndEmcPSAFPGAPileupAnalyser::put().

26  {
27  //std::cout<<"buffer# "<<buffer.size()<<std::endl;
28  bpointer %= buffer.size();
29  float diff = valueToStore - buffer[bpointer];
30  float mwd = diff + lambda*sum;
31  sum += diff;
32  buffer[bpointer] = valueToStore;
33  bpointer++;
34  return mwd;
35 }
std::vector< float > buffer
void PndEmcPSAFPGAFilterMWD::resetToZero ( )

Definition at line 37 of file PndEmcPSAFPGAFilterMWD.cxx.

References bpointer, buffer, i, and sum.

Referenced by PndEmcPSAFPGADigitalFilterAnalyser::reset(), and PndEmcPSAFPGAPileupAnalyser::reset().

37  {
38  for(unsigned int i=0; i<buffer.size(); i++) {
39  buffer[i]=0;
40  }
41  bpointer = 0.;
42  sum = 0.;
43 }
Int_t i
Definition: run_full.C:25
std::vector< float > buffer
void PndEmcPSAFPGAFilterMWD::set ( float  tau,
unsigned int  newBufferSize 
)

Definition at line 15 of file PndEmcPSAFPGAFilterMWD.cxx.

References bpointer, buffer, i, lambda, and sum.

Referenced by PndEmcPSAFPGADigitalFilterAnalyser::init(), and PndEmcPSAFPGAPileupAnalyser::Init2().

16 {
17  buffer.resize(newBufferSize);
18  for(unsigned int i=0; i<newBufferSize; i++)
19  buffer[i]=0;
20  bpointer=0;
21  sum = 0.0;
22  lambda = 1.0/tau;
23 }
Int_t i
Definition: run_full.C:25
std::vector< float > buffer

Member Data Documentation

unsigned int PndEmcPSAFPGAFilterMWD::bpointer
private

Definition at line 18 of file PndEmcPSAFPGAFilterMWD.h.

Referenced by put(), resetToZero(), and set().

std::vector<float> PndEmcPSAFPGAFilterMWD::buffer
private

Definition at line 17 of file PndEmcPSAFPGAFilterMWD.h.

Referenced by put(), resetToZero(), set(), and ~PndEmcPSAFPGAFilterMWD().

float PndEmcPSAFPGAFilterMWD::lambda
private

Definition at line 20 of file PndEmcPSAFPGAFilterMWD.h.

Referenced by put(), and set().

float PndEmcPSAFPGAFilterMWD::sum
private

Definition at line 19 of file PndEmcPSAFPGAFilterMWD.h.

Referenced by put(), resetToZero(), and set().


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