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 public:
10  HcalInterpolatedPulseColl(const std::vector<HcalInterpolatedPulse>& pulses, const HBHEChannelGroups& groups);
11 
12  // Get the pulse from channel HcalDetId
13  const HcalInterpolatedPulse& getChannelPulse(const HcalDetId& id) const;
14 
15  // Get the pulse by linearized HCAL channel number
16  inline const HcalInterpolatedPulse& getChannelPulse(const unsigned i) const { return pulses_[groups_.getGroup(i)]; }
17 
18  inline bool operator==(const HcalInterpolatedPulseColl& r) { return pulses_ == r.pulses_ && groups_ == r.groups_; }
19 
20  inline bool operator!=(const HcalInterpolatedPulseColl& r) { return !(*this == r); }
21 
22 private:
23  std::vector<HcalInterpolatedPulse> pulses_;
25 
26 public:
27  // Default constructor needed for serialization.
28  // Do not use in application code.
30 
31 private:
33 
34  template <class Archive>
35  inline void serialize(Archive& ar, unsigned /* version */) {
36  ar& pulses_& groups_;
37  }
38 };
39 
40 BOOST_CLASS_VERSION(HcalInterpolatedPulseColl, 1)
41 
42 #endif // CondFormats_HcalObjects_HcalInterpolatedPulseColl_h_
HBHEChannelGroups
Definition: HBHEChannelGroups.h:12
mps_fire.i
i
Definition: mps_fire.py:428
HcalInterpolatedPulseColl::operator==
bool operator==(const HcalInterpolatedPulseColl &r)
Definition: HcalInterpolatedPulseColl.h:18
HcalInterpolatedPulseColl::getChannelPulse
const HcalInterpolatedPulse & getChannelPulse(const HcalDetId &id) const
Definition: HcalInterpolatedPulseColl.cc:11
HcalInterpolatedPulseColl::groups_
HBHEChannelGroups groups_
Definition: HcalInterpolatedPulseColl.h:24
HBHEChannelGroups.h
HcalInterpolatedPulseColl::operator!=
bool operator!=(const HcalInterpolatedPulseColl &r)
Definition: HcalInterpolatedPulseColl.h:20
HcalInterpolatedPulseColl::serialize
void serialize(Archive &ar, unsigned)
Definition: HcalInterpolatedPulseColl.h:35
HcalDetId.h
HcalInterpolatedPulseColl
Definition: HcalInterpolatedPulseColl.h:8
HcalDetId
Definition: HcalDetId.h:12
HBHEChannelGroups::getGroup
unsigned getGroup(const unsigned linearChannel) const
Definition: HBHEChannelGroups.h:37
HcalInterpolatedPulse.h
alignCSCRings.r
r
Definition: alignCSCRings.py:93
InterpolatedPulse< 1500U >
HcalInterpolatedPulseColl::HcalInterpolatedPulseColl
HcalInterpolatedPulseColl()
Definition: HcalInterpolatedPulseColl.h:29
HcalInterpolatedPulseColl::access
friend class boost::serialization::access
Definition: HcalInterpolatedPulseColl.h:32
HcalInterpolatedPulseColl::pulses_
std::vector< HcalInterpolatedPulse > pulses_
Definition: HcalInterpolatedPulseColl.h:23
HcalInterpolatedPulseColl::getChannelPulse
const HcalInterpolatedPulse & getChannelPulse(const unsigned i) const
Definition: HcalInterpolatedPulseColl.h:16