File indexing completed on 2024-04-06 12:02:09
0001 #ifndef CondFormats_EcalObjects_EcalSampleMask_H
0002 #define CondFormats_EcalObjects_EcalSampleMask_H
0003
0004
0005
0006
0007
0008
0009 #include "CondFormats/Serialization/interface/Serializable.h"
0010
0011 #include <iostream>
0012 #include <vector>
0013 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0014 #include "DataFormats/EcalDetId/interface/EEDetId.h"
0015
0016 class EcalSampleMask {
0017 public:
0018 EcalSampleMask();
0019
0020
0021 EcalSampleMask(const unsigned int ebmask, const unsigned int eemask);
0022
0023 EcalSampleMask(const std::vector<unsigned int> &ebmask, const std::vector<unsigned int> &eemask);
0024
0025 ~EcalSampleMask();
0026
0027 void setEcalSampleMaskRecordEB(const unsigned int mask) { sampleMaskEB_ = mask; }
0028 void setEcalSampleMaskRecordEE(const unsigned int mask) { sampleMaskEE_ = mask; }
0029 void setEcalSampleMaskRecordEB(const std::vector<unsigned int> &ebmask);
0030 void setEcalSampleMaskRecordEE(const std::vector<unsigned int> &eemask);
0031
0032 float getEcalSampleMaskRecordEB() const { return sampleMaskEB_; }
0033 float getEcalSampleMaskRecordEE() const { return sampleMaskEE_; }
0034 void print(std::ostream &s) const { s << "EcalSampleMask: EB " << sampleMaskEB_ << "; EE " << sampleMaskEE_; }
0035
0036 bool useSampleEB(const int sampleId) const;
0037 bool useSampleEE(const int sampleId) const;
0038 bool useSample(const int sampleId, DetId &theCrystal) const;
0039
0040 private:
0041 unsigned int sampleMaskEB_;
0042 unsigned int sampleMaskEE_;
0043
0044 COND_SERIALIZABLE;
0045 };
0046
0047 #endif