File indexing completed on 2024-04-06 12:29:22
0001 #ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixAmplitudeFilter_h
0002 #define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBFenixAmplitudeFilter_h
0003
0004 #include <vector>
0005 #include <cstdint>
0006
0007 class EcalTPGWeightIdMap;
0008 class EcalTPGWeightGroup;
0009
0010
0011
0012
0013
0014
0015
0016
0017 class EcalEBFenixAmplitudeFilter {
0018 private:
0019 int peakFlag_[5];
0020 int inputsAlreadyIn_;
0021 int buffer_[5];
0022 int fgvbBuffer_[5];
0023 int weights_[5];
0024 int shift_;
0025 int setInput(int input, int fgvb);
0026 void process();
0027
0028 int processedOutput_;
0029 int processedFgvbOutput_;
0030
0031 public:
0032 EcalEBFenixAmplitudeFilter();
0033 virtual ~EcalEBFenixAmplitudeFilter();
0034 virtual void process(std::vector<int> &addout,
0035 std::vector<int> &output,
0036 std::vector<int> &fgvbIn,
0037 std::vector<int> &fgvbOut);
0038 void setParameters(uint32_t raw,
0039 const EcalTPGWeightIdMap *ecaltpgWeightMap,
0040 const EcalTPGWeightGroup *ecaltpgWeightGroup);
0041 };
0042
0043 #endif