Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixStripFormatEB_h
0002 #define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixStripFormatEB_h
0003 
0004 #include <vector>
0005 #include <cstdint>
0006 
0007 class EcalTPGSlidingWindow;
0008 
0009 /** 
0010     \class EcalEBFenixStripFormatEB
0011    \brief Formatting for Fenix strip
0012   *  input: 18 bits + 3x 1bit (fgvb, gapflagbit, output from peakfinder)
0013    *  output:16 bits
0014    *  The output corresponds to 1 calodataframe per strip
0015    *  --- not really a calodataframe no?
0016    */
0017 
0018 class EcalEBFenixStripFormatEB {
0019 private:
0020   int inputsFGVB_;
0021   int inputPeak_;
0022   int input_;
0023   uint32_t shift_;
0024   //  int buffer_;
0025 
0026   int setInput(int input, int inputPeak, int inputsFGVB);
0027   int process();
0028 
0029 public:
0030   EcalEBFenixStripFormatEB();
0031   virtual ~EcalEBFenixStripFormatEB();
0032   virtual void process(std::vector<int> &, std::vector<int> &, std::vector<int> &, std::vector<int> &);
0033   void setParameters(uint32_t &, const EcalTPGSlidingWindow *&);
0034 };
0035 #endif