Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:22

0001 #ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixPeakFinder_h
0002 #define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixPeakFinder_h
0003 
0004 #include <vector>
0005 
0006 /** 
0007    \ class EcalEBFenixPeakFinder
0008    \brief calculates the peak for Fenix strip, barrel
0009    *  input : 18 bits
0010    *  output: boolean
0011    *  
0012    *  --->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.
0013    *  ----> do we really need caloVShape?
0014    */
0015 
0016 class EcalEBFenixPeakFinder {
0017 private:
0018   bool disabled;
0019   int setInput(int input);
0020   int process();
0021 
0022   int inputsAlreadyIn_;
0023   int buffer_[3];
0024 
0025 public:
0026   EcalEBFenixPeakFinder();
0027   virtual ~EcalEBFenixPeakFinder();
0028   virtual std::vector<int> process(std::vector<int>& filtout, std::vector<int>& output);
0029   // from CaloVShape
0030   //  virtual double operator()(double) const {return 0.;}
0031   //  virtual double derivative(double) const {return 0.;}
0032 };
0033 
0034 #endif