File indexing completed on 2024-04-06 12:29:22
0001 #ifndef SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBPhase2AmplitudeReconstructor_h
0002 #define SimCalorimetry_EcalEBTrigPrimAlgos_EcalEBPhase2AmplitudeReconstructor_h
0003
0004 #include <vector>
0005 #include <cstdint>
0006
0007 class EcalEBPhase2TPGAmplWeightIdMap;
0008 class EcalTPGWeightGroup;
0009
0010
0011
0012
0013
0014
0015
0016
0017 class EcalEBPhase2AmplitudeReconstructor {
0018 private:
0019 static const int maxSamplesUsed_ = 12;
0020 bool debug_;
0021 int inputsAlreadyIn_;
0022 int buffer_[maxSamplesUsed_];
0023 int weights_[maxSamplesUsed_];
0024 int shift_;
0025 int setInput(int input);
0026 void process();
0027 int processedOutput_;
0028
0029 public:
0030 EcalEBPhase2AmplitudeReconstructor(bool debug);
0031 virtual ~EcalEBPhase2AmplitudeReconstructor();
0032 virtual void process(std::vector<int> &addout, std::vector<int> &output);
0033 void setParameters(uint32_t raw,
0034 const EcalEBPhase2TPGAmplWeightIdMap *ecaltpgWeightMap,
0035 const EcalTPGWeightGroup *ecaltpgWeightGroup);
0036 };
0037
0038 #endif