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

Pulseshape analysis for ADC waveforms. More...

#include <PndEmcPSAMatchedDigiFilter.h>

Inheritance diagram for PndEmcPSAMatchedDigiFilter:
PndEmcAbsPSA

Public Member Functions

 PndEmcPSAMatchedDigiFilter (const std::vector< Double_t > params, PndEmcAbsPulseshape *pulseshape)
 
virtual ~PndEmcPSAMatchedDigiFilter ()
 
virtual Int_t Process (const PndEmcWaveform *waveform)
 Find Hits in Waveform. More...
 
virtual void GetHit (Int_t i, Double_t &energy, Double_t &time)
 Get energy and time of hit. More...
 
virtual void Process (const PndEmcWaveform *waveform, Double_t &amplitude, Double_t &time)
 Deprecated. Do not use. More...
 
void Draw (const PndEmcWaveform *waveform)
 
virtual void Reset ()
 reset found hits More...
 
 ClassDef (PndEmcAbsPSA, 1)
 

Public Attributes

std::vector< Double_tfParams
 
PndEmcAbsPulseshapefPulseshape
 

Private Member Functions

 PndEmcPSAMatchedDigiFilter (const PndEmcPSAMatchedDigiFilter &L)
 
PndEmcPSAMatchedDigiFilteroperator= (const PndEmcPSAMatchedDigiFilter &)
 

Private Attributes

Double_t lAmplitude
 
Double_t lTime
 

Detailed Description

Pulseshape analysis for ADC waveforms.

Definition at line 22 of file PndEmcPSAMatchedDigiFilter.h.

Constructor & Destructor Documentation

PndEmcPSAMatchedDigiFilter::PndEmcPSAMatchedDigiFilter ( const std::vector< Double_t params,
PndEmcAbsPulseshape pulseshape 
)

Definition at line 19 of file PndEmcPSAMatchedDigiFilter.cxx.

19  :
20 fParams(params),
21 fPulseshape(pulseshape)
22 {}
virtual PndEmcPSAMatchedDigiFilter::~PndEmcPSAMatchedDigiFilter ( )
inlinevirtual

Definition at line 27 of file PndEmcPSAMatchedDigiFilter.h.

27 {;}
PndEmcPSAMatchedDigiFilter::PndEmcPSAMatchedDigiFilter ( const PndEmcPSAMatchedDigiFilter L)
private

Member Function Documentation

PndEmcAbsPSA::ClassDef ( PndEmcAbsPSA  ,
 
)
inherited
void PndEmcPSAMatchedDigiFilter::Draw ( const PndEmcWaveform waveform)
void PndEmcPSAMatchedDigiFilter::GetHit ( Int_t  i,
Double_t energy,
Double_t time 
)
virtual

Get energy and time of hit.

Parameters
Int_tIndex of Hit
Double_tEnergy of Hit
Double_tTime of Hit
Returns

Implements PndEmcAbsPSA.

Definition at line 32 of file PndEmcPSAMatchedDigiFilter.cxx.

References lAmplitude, and lTime.

32  { // i //[R.K.03/2017] unused variable(s)
34  time = lTime;
35 }
Double_t energy
Definition: plot_dirc.C:15
PndEmcPSAMatchedDigiFilter& PndEmcPSAMatchedDigiFilter::operator= ( const PndEmcPSAMatchedDigiFilter )
inlineprivate

Definition at line 45 of file PndEmcPSAMatchedDigiFilter.h.

45 {return *this;};
Int_t PndEmcPSAMatchedDigiFilter::Process ( const PndEmcWaveform waveform)
virtual

Find Hits in Waveform.

Parameters
PndEmcWaveform
Returns
Return number of hits, negative if an error occurred

Implements PndEmcAbsPSA.

Definition at line 24 of file PndEmcPSAMatchedDigiFilter.cxx.

References lAmplitude, and lTime.

24  {
25  Process(waveform,lAmplitude,lTime);
26  if(lAmplitude > 0){
27  return 1;
28  }else{
29  return 0;
30  }
31 }
virtual Int_t Process(const PndEmcWaveform *waveform)
Find Hits in Waveform.
void PndEmcPSAMatchedDigiFilter::Process ( const PndEmcWaveform waveform,
Double_t amplitude,
Double_t time 
)
virtual

Deprecated. Do not use.

Parameters
PndEmcWaveform
Double_t
Double_t
Returns

Reimplemented from PndEmcAbsPSA.

Definition at line 37 of file PndEmcPSAMatchedDigiFilter.cxx.

References Double_t, PndEmcFadcFilter::Filter(), fParams, fPulseshape, PndEmcWaveform::GetSignal(), output, p, and PndEmcFadcFilter::SetupMatchedFilter().

38 {
39  const std::vector<Double_t> signal=waveform->GetSignal();
40  std::vector<Double_t> output;
41 
42  Int_t width=(Int_t) fParams[0]; // width of the filter
43  Double_t sampleRate=(Double_t) fParams[1]; // sample rate of ADC
44 
46  flt->SetupMatchedFilter(width,fPulseshape,sampleRate);
47  flt->Filter(signal, output);
48  delete flt;
49 
50  // Extraction of energy and time information
51  std::vector<Double_t>::iterator p;
52  p=max_element(output.begin(),output.end());
53  Int_t pPosition = distance(output.begin(),p);
54 
55  amplitude = *p;
56  time = pPosition;
57 
58  return;
59 }
Double_t p
Definition: anasim.C:58
virtual void Filter(const std::vector< Double_t > &in, std::vector< Double_t > &out) const
virtual std::vector< double > GetSignal() const
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FADC FIR (finite impulse response) filter.
void SetupMatchedFilter(Int_t i_width, PndEmcAbsPulseshape *pulseshape, Double_t sampleRate)
Double_t
virtual void PndEmcAbsPSA::Reset ( )
inlinevirtualinherited

reset found hits

Returns

Reimplemented in PndEmcPSAFPGASampleAnalyser, and PndEmcHighLowPSA.

Definition at line 42 of file PndEmcAbsPSA.h.

42 {};

Member Data Documentation

std::vector<Double_t> PndEmcPSAMatchedDigiFilter::fParams

Definition at line 37 of file PndEmcPSAMatchedDigiFilter.h.

Referenced by Process().

PndEmcAbsPulseshape* PndEmcPSAMatchedDigiFilter::fPulseshape

Definition at line 38 of file PndEmcPSAMatchedDigiFilter.h.

Referenced by Process().

Double_t PndEmcPSAMatchedDigiFilter::lAmplitude
private

Definition at line 42 of file PndEmcPSAMatchedDigiFilter.h.

Referenced by GetHit(), and Process().

Double_t PndEmcPSAMatchedDigiFilter::lTime
private

Definition at line 43 of file PndEmcPSAMatchedDigiFilter.h.

Referenced by GetHit(), and Process().


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