Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFORMATEE_H
0002 #define SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALFENIXTCPFORMATEE_H
0003 
0004 #include "DataFormats/EcalDigi/interface/EcalTriggerPrimitiveSample.h"
0005 #include <vector>
0006 
0007 class EcalTPGLutGroup;
0008 class EcalTPGLutIdMap;
0009 class EcalTPGTowerStatus;
0010 class EcalTPGSpike;
0011 class EcalTPGTPMode;
0012 
0013 /**
0014     \class EcalFenixStripFormatEE
0015     \brief Formatting for Fenix Tcp EE
0016     *  input 10 bits from Ettot
0017     *         1 bit from fgvb
0018     *         3 bits TriggerTowerFlag
0019     *  output: 16 bits
0020     *  simple formatting
0021     *
0022     */
0023 class EcalFenixTcpFormatEE {
0024 public:
0025   EcalFenixTcpFormatEE(bool tccFormat, bool debug, bool famos, int binOfMax);
0026   virtual ~EcalFenixTcpFormatEE();
0027   virtual std::vector<int> process(const std::vector<int> &, const std::vector<int> &) {
0028     std::vector<int> v;
0029     return v;
0030   }
0031   void process(std::vector<int> &Et_even_sum,
0032                std::vector<int> &Et_odd_sum,
0033                std::vector<int> &fgvb,
0034                std::vector<int> &sfgvb,
0035                int eTTotShift,
0036                std::vector<EcalTriggerPrimitiveSample> &out,
0037                std::vector<EcalTriggerPrimitiveSample> &outTcc,
0038                bool isInInnerRings);
0039   void setParameters(uint32_t towid,
0040                      const EcalTPGLutGroup *ecaltpgLutGroup,
0041                      const EcalTPGLutIdMap *ecaltpgLut,
0042                      const EcalTPGTowerStatus *ecaltpgbadTT,
0043                      const EcalTPGSpike *ecaltpgSpike,
0044                      const EcalTPGTPMode *ecaltpgTPMode);
0045 
0046 private:
0047   const unsigned int *lut_;
0048   const uint16_t *badTTStatus_;
0049   uint16_t status_;
0050   bool tcpFormat_;
0051   bool debug_;
0052   bool famos_;
0053   unsigned int binOfMax_;
0054   uint16_t spikeZeroThresh_;
0055   const EcalTPGTPMode *ecaltpgTPMode_;
0056 };
0057 
0058 #endif