CMS 3D CMS Logo

CastorSimpleRecAlgo.h
Go to the documentation of this file.
1 #ifndef CASTORSIMPLERECALGO_H
2 #define CASTORSIMPLERECALGO_H 1
3 
9 #include <memory>
10 
23 public:
26  bool correctForContainment, float fixedPhaseNs);
28  CastorSimpleRecAlgo(int firstSample, int samplesToAdd);
29 
30  CastorRecHit reconstruct(const CastorDataFrame& digi, const CastorCoder& coder, const CastorCalibrations& calibs) const;
31 
32  // sets rechit saturation status bit on if ADC count is >= maxADCvalue
33  void checkADCSaturation(CastorRecHit& rechit, const CastorDataFrame& digi, const int& maxADCvalue) const;
34 
35  //++++ Saturation Correction +++++
36  // recover pulse shape if ADC count is >= masADCvalue
37  void recoverADCSaturation(CastorRecHit& rechit, const CastorCoder& coder, const CastorCalibrations& calibs,
38  const CastorDataFrame& digi, const int& maxADCvalue, const double& satCorrConst) const;
39 
40 
41 
42  void resetTimeSamples(int f,int t){
45  }
46 private:
49  std::unique_ptr<CastorPulseContainmentCorrection> pulseCorr_;
50 };
51 
52 #endif
void resetTimeSamples(int f, int t)
CastorSimpleRecAlgo(int firstSample, int samplesToAdd, bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs)
CastorRecHit reconstruct(const CastorDataFrame &digi, const CastorCoder &coder, const CastorCalibrations &calibs) const
std::unique_ptr< CastorPulseContainmentCorrection > pulseCorr_
double f[11][100]
void recoverADCSaturation(CastorRecHit &rechit, const CastorCoder &coder, const CastorCalibrations &calibs, const CastorDataFrame &digi, const int &maxADCvalue, const double &satCorrConst) const
void checkADCSaturation(CastorRecHit &rechit, const CastorDataFrame &digi, const int &maxADCvalue) const