Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:03:36

0001 #ifndef SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFGVBEE_H
0002 #define SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFGVBEE_H
0003 
0004 #include <cstdint>
0005 #include <vector>
0006 
0007 class EcalTPGFineGrainTowerEE;
0008 
0009 /**
0010     \class EcalFenixTcpFgvbEE
0011     \brief calculation of Fgvb for Fenix Tcp, format endcap
0012     *  calculates fgvb for the endcap
0013     *
0014     *
0015     *  input :  5x 11th  bit of Bypasslin ouput
0016     *  output: 1 bit
0017     *
0018     *
0019     *  the five bit_strips + 3 bits (nb of strips) (are used to make a LUT_tower
0020    address (max size :2**8=256)
0021     *  the output is 1 value.
0022     */
0023 
0024 class EcalFenixTcpFgvbEE {
0025 private:
0026   uint32_t fgee_lut_;
0027   std::vector<int> indexLut_;
0028 
0029 public:
0030   EcalFenixTcpFgvbEE(int maxNrSamples);
0031   virtual ~EcalFenixTcpFgvbEE();
0032   void setParameters(uint32_t towid, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE);
0033 
0034   void process(std::vector<std::vector<int>> &bypasslin_out, int nStr, int bitMask, std::vector<int> &output);
0035 };
0036 #endif