Back to home page

Project CMSSW displayed by LXR

 
 

    


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 /** \class EcalPhase2AmplitudeReconstructor 
0011 \author L. Lutton, N. Marinelli - Univ. of Notre Dame
0012  Description: forPhase II 
0013  It uses the new Phase2 digis based on the new EB electronics
0014  and measures the amplitude on xTals basis
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