CMS 3D CMS Logo

HcalInterpolatedPulseColl.h
Go to the documentation of this file.
1 #ifndef CondFormats_HcalObjects_HcalInterpolatedPulseColl_h_
2 #define CondFormats_HcalObjects_HcalInterpolatedPulseColl_h_
3 
7 
9 {
10 public:
12  const std::vector<HcalInterpolatedPulse>& pulses,
13  const HBHEChannelGroups& groups);
14 
15  // Get the pulse from channel HcalDetId
16  const HcalInterpolatedPulse& getChannelPulse(const HcalDetId& id) const;
17 
18  // Get the pulse by linearized HCAL channel number
19  inline const HcalInterpolatedPulse& getChannelPulse(const unsigned i) const
20  {return pulses_[groups_.getGroup(i)];}
21 
23  {return pulses_ == r.pulses_ && groups_ == r.groups_;}
24 
26  {return !(*this == r);}
27 
28 private:
29  std::vector<HcalInterpolatedPulse> pulses_;
31 
32 public:
33  // Default constructor needed for serialization.
34  // Do not use in application code.
36 
37 private:
39 
40  template<class Archive>
41  inline void serialize(Archive & ar, unsigned /* version */)
42  {
43  ar & pulses_ & groups_;
44  }
45 };
46 
47 BOOST_CLASS_VERSION(HcalInterpolatedPulseColl, 1)
48 
49 #endif // CondFormats_HcalObjects_HcalInterpolatedPulseColl_h_
unsigned getGroup(const unsigned linearChannel) const
std::vector< HcalInterpolatedPulse > pulses_
void serialize(Archive &ar, unsigned)
const HcalInterpolatedPulse & getChannelPulse(const unsigned i) const
friend class boost::serialization::access
bool operator==(const HcalInterpolatedPulseColl &r)
const HcalInterpolatedPulse & getChannelPulse(const HcalDetId &id) const
bool operator!=(const HcalInterpolatedPulseColl &r)