Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:09

0001 #ifndef CondFormats_EcalObjects_EcalSCDynamicDPhiParameters_h
0002 #define CondFormats_EcalObjects_EcalSCDynamicDPhiParameters_h
0003 
0004 #include <iostream>
0005 #include <vector>
0006 
0007 #include "CondFormats/Serialization/interface/Serializable.h"
0008 
0009 namespace reco {
0010   class SCDynamicDPhiParametersHelper;
0011 }  // namespace reco
0012 
0013 class EcalSCDynamicDPhiParameters {
0014 public:
0015   EcalSCDynamicDPhiParameters(){};
0016   virtual ~EcalSCDynamicDPhiParameters() = default;
0017 
0018   struct DynamicDPhiParameters {
0019     double eMin;
0020     double etaMin;
0021     double yoffset;
0022     double scale;
0023     double xoffset;
0024     double width;
0025     double saturation;
0026     double cutoff;
0027 
0028     COND_SERIALIZABLE;
0029   };
0030 
0031   const DynamicDPhiParameters* dynamicDPhiParameters(double clustE, double absSeedEta) const;
0032 
0033   // helper class to set parameters
0034   friend class reco::SCDynamicDPhiParametersHelper;
0035 
0036   // print parameters to stream:
0037   void print(std::ostream&) const;
0038   friend std::ostream& operator<<(std::ostream& out, const EcalSCDynamicDPhiParameters& params) {
0039     params.print(out);
0040     return out;
0041   }
0042 
0043 protected:
0044   // collection is expected to be sorted in ascending DynamicDPhiParameters.eMin and ascending DynamicDPhiParameters.etaMax
0045   std::vector<DynamicDPhiParameters> dynamicDPhiParametersCollection_;
0046 
0047   COND_SERIALIZABLE;
0048 };
0049 
0050 #endif