CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
EcalEBFenixPeakFinder Class Reference

calculates the peak for Fenix strip, barrel input : 18 bits output: boolean More...

#include <EcalEBFenixPeakFinder.h>

Public Member Functions

 EcalEBFenixPeakFinder ()
 
virtual std::vector< int > process (std::vector< int > &filtout, std::vector< int > &output)
 
virtual ~EcalEBFenixPeakFinder ()
 

Private Member Functions

int process ()
 
int setInput (int input)
 

Private Attributes

int buffer_ [3]
 
bool disabled
 
int inputsAlreadyIn_
 

Detailed Description

calculates the peak for Fenix strip, barrel input : 18 bits output: boolean

\ class EcalEBFenixPeakFinder —>gets the sample where the value is max. the value is 1 for this max sample, 0 for the others .needs 3 samples to proceed. -—> do we really need caloVShape?

Definition at line 16 of file EcalEBFenixPeakFinder.h.

Constructor & Destructor Documentation

◆ EcalEBFenixPeakFinder()

EcalEBFenixPeakFinder::EcalEBFenixPeakFinder ( )

Definition at line 4 of file EcalEBFenixPeakFinder.cc.

◆ ~EcalEBFenixPeakFinder()

EcalEBFenixPeakFinder::~EcalEBFenixPeakFinder ( )
virtual

Definition at line 6 of file EcalEBFenixPeakFinder.cc.

6 {}

Member Function Documentation

◆ process() [1/2]

int EcalEBFenixPeakFinder::process ( )
private

Definition at line 23 of file EcalEBFenixPeakFinder.cc.

References buffer_, and inputsAlreadyIn_.

Referenced by process(), and EcalEBTrigPrimTestAlgo::run().

23  {
24  if (inputsAlreadyIn_ < 3)
25  return 0;
26  if (buffer_[1] > buffer_[0] && buffer_[1] > buffer_[2])
27  return 1;
28  else
29  return 0;
30 }

◆ process() [2/2]

std::vector< int > EcalEBFenixPeakFinder::process ( std::vector< int > &  filtout,
std::vector< int > &  output 
)
virtual

Definition at line 32 of file EcalEBFenixPeakFinder.cc.

References buffer_, mps_fire::i, inputsAlreadyIn_, convertSQLitetoXML_cfg::output, process(), and setInput().

32  {
33  // FIXME: 3
34  inputsAlreadyIn_ = 0;
35  for (unsigned int i = 0; i < 3; i++)
36  buffer_[i] = 0;
37 
38  // std::vector<int> output;
39 
40  //std::cout << " EcalEBFenixPeakFinder::process( " << filtout.size() << std::endl;
41  // attention, we have to shift by one, because the peak is found one too late
42  for (unsigned int i = 0; i < filtout.size(); i++) {
43  setInput(filtout[i]);
44  for (unsigned int i = 0; i < 3; i++) {
45  // std::cout << " buffer_ " << buffer_[i];
46  }
47  //std::cout << " " << std::endl;
48 
49  if (i > 0) {
50  // int outone = process();
51  // output.push_back(outone);
52  output[i - 1] = process();
53  }
54  }
55  // output.resize(filtout.size());
56 
57  return output;
58 }

◆ setInput()

int EcalEBFenixPeakFinder::setInput ( int  input)
private

Definition at line 8 of file EcalEBFenixPeakFinder.cc.

References buffer_, mps_fire::i, input, and inputsAlreadyIn_.

Referenced by process().

8  {
9  if (inputsAlreadyIn_ < 3) {
10  //std::cout << " EcalEBFenixPeakFinder::setInput inputsAlreadyIn_<3 input " << input << std::endl;
13  } else {
14  for (int i = 0; i < 2; i++) {
15  buffer_[i] = buffer_[i + 1];
16  //std::cout << " EcalEBFenixPeakFinder::setInput inputsAlreadyIn buffer " << buffer_[i] << std::endl;
17  }
18  buffer_[2] = input;
19  }
20  return 1;
21 }
static std::string const input
Definition: EdmProvDump.cc:50

Member Data Documentation

◆ buffer_

int EcalEBFenixPeakFinder::buffer_[3]
private

Definition at line 23 of file EcalEBFenixPeakFinder.h.

Referenced by process(), and setInput().

◆ disabled

bool EcalEBFenixPeakFinder::disabled
private

Definition at line 18 of file EcalEBFenixPeakFinder.h.

◆ inputsAlreadyIn_

int EcalEBFenixPeakFinder::inputsAlreadyIn_
private

Definition at line 22 of file EcalEBFenixPeakFinder.h.

Referenced by process(), and setInput().