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