CMS 3D CMS Logo

EcalLaserDbService.h
Go to the documentation of this file.
1 //
2 // Toyoko Orimoto (Caltech), 10 July 2007
3 // Fabrice Couderc (Saclay), 16 March 2020 : add protection if t > t3 +deltat : t = t3 + deltat
4 //
5 
6 #ifndef EcalLaserDbService_h
7 #define EcalLaserDbService_h
8 
9 #include <memory>
10 #include <oneapi/tbb/concurrent_unordered_set.h>
11 
16 
19 
24 
26 public:
28 
29  const EcalLaserAlphas* getAlphas() const;
31  const EcalLaserAPDPNRatios* getAPDPNRatios() const;
33  float getLaserCorrection(DetId const& xid, edm::Timestamp const& iTime) const;
34 
35  void setAlphaData(const EcalLaserAlphas* fItem) { mAlphas_ = fItem; }
37  void setAPDPNData(const EcalLaserAPDPNRatios* fItem) { mAPDPNRatios_ = fItem; }
39 
40  void setMaxExtrapolationTimeInSec(int deltaT) { maxExtrapolationTime_ = ((unsigned long long)deltaT) << 32; }
41 
42 private:
47  unsigned long long maxExtrapolationTime_;
48 
49  typedef tbb::concurrent_unordered_set<uint32_t> ErrorMapT;
51 };
52 
53 #endif
tbb::concurrent_unordered_set< uint32_t > ErrorMapT
const EcalLinearCorrections * getLinearCorrections() const
ErrorMapT channelsWithInvalidCorrection_
unsigned long long maxExtrapolationTime_
void setAlphaData(const EcalLaserAlphas *fItem)
const EcalLinearCorrections * mLinearCorrections_
const EcalLaserAlphas * getAlphas() const
void setLinearCorrectionsData(const EcalLinearCorrections *fItem)
const EcalLaserAPDPNRatiosRef * mAPDPNRatiosRef_
void setAPDPNData(const EcalLaserAPDPNRatios *fItem)
float getLaserCorrection(DetId const &xid, edm::Timestamp const &iTime) const
Definition: DetId.h:17
const EcalLaserAPDPNRatios * mAPDPNRatios_
const EcalLaserAlphas * mAlphas_
void setMaxExtrapolationTimeInSec(int deltaT)
void setAPDPNRefData(const EcalLaserAPDPNRatiosRef *fItem)
const EcalLaserAPDPNRatiosRef * getAPDPNRatiosRef() const
const EcalLaserAPDPNRatios * getAPDPNRatios() const