CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
HcalInterpolatedPulseColl Class Reference

#include <HcalInterpolatedPulseColl.h>

Public Member Functions

const HcalInterpolatedPulsegetChannelPulse (const HcalDetId &id) const
 
const HcalInterpolatedPulsegetChannelPulse (const unsigned i) const
 
 HcalInterpolatedPulseColl (const std::vector< HcalInterpolatedPulse > &pulses, const HBHEChannelGroups &groups)
 
 HcalInterpolatedPulseColl ()
 
bool operator!= (const HcalInterpolatedPulseColl &r)
 
bool operator== (const HcalInterpolatedPulseColl &r)
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, unsigned)
 

Private Attributes

HBHEChannelGroups groups_
 
std::vector< HcalInterpolatedPulsepulses_
 

Friends

class boost::serialization::access
 

Detailed Description

Definition at line 8 of file HcalInterpolatedPulseColl.h.

Constructor & Destructor Documentation

HcalInterpolatedPulseColl::HcalInterpolatedPulseColl ( const std::vector< HcalInterpolatedPulse > &  pulses,
const HBHEChannelGroups groups 
)

Definition at line 4 of file HcalInterpolatedPulseColl.cc.

References Exception, groups_, HBHEChannelGroups::largestGroupNumber(), pulses_, and mitigatedMETSequence_cff::U.

7  : pulses_(pulses),
8  groups_(groups)
9 {
10  if (!(pulses_.size() == groups_.largestGroupNumber() + 1U))
11  throw cms::Exception(
12  "Inconsistent arguments in HcalInterpolatedPulseColl constructor");
13 }
std::vector< HcalInterpolatedPulse > pulses_
unsigned largestGroupNumber() const
HcalInterpolatedPulseColl::HcalInterpolatedPulseColl ( )
inline

Definition at line 35 of file HcalInterpolatedPulseColl.h.

35 {}

Member Function Documentation

const HcalInterpolatedPulse & HcalInterpolatedPulseColl::getChannelPulse ( const HcalDetId id) const

Definition at line 15 of file HcalInterpolatedPulseColl.cc.

References egammaForCoreTracking_cff::depth, HBHEChannelGroups::getGroup(), groups_, hbheChannelMap(), HBHELinearMap::linearIndex(), and pulses_.

17 {
18  // Figure out the group number for this channel
19  const unsigned lindex = hbheChannelMap().linearIndex(
20  id.depth(), id.ieta(), id.iphi());
21  const unsigned grN = groups_.getGroup(lindex);
22 
23  // Return the pulse for this group
24  return pulses_[grN];
25 }
unsigned getGroup(const unsigned linearChannel) const
std::vector< HcalInterpolatedPulse > pulses_
const HBHELinearMap & hbheChannelMap()
unsigned linearIndex(unsigned depth, int ieta, unsigned iphi) const
const HcalInterpolatedPulse& HcalInterpolatedPulseColl::getChannelPulse ( const unsigned  i) const
inline

Definition at line 19 of file HcalInterpolatedPulseColl.h.

References HBHEChannelGroups::getGroup(), groups_, and pulses_.

20  {return pulses_[groups_.getGroup(i)];}
unsigned getGroup(const unsigned linearChannel) const
std::vector< HcalInterpolatedPulse > pulses_
bool HcalInterpolatedPulseColl::operator!= ( const HcalInterpolatedPulseColl r)
inline

Definition at line 25 of file HcalInterpolatedPulseColl.h.

References alignCSCRings::r.

26  {return !(*this == r);}
bool HcalInterpolatedPulseColl::operator== ( const HcalInterpolatedPulseColl r)
inline

Definition at line 22 of file HcalInterpolatedPulseColl.h.

References groups_, and pulses_.

23  {return pulses_ == r.pulses_ && groups_ == r.groups_;}
std::vector< HcalInterpolatedPulse > pulses_
template<class Archive >
void HcalInterpolatedPulseColl::serialize ( Archive &  ar,
unsigned   
)
inlineprivate

Definition at line 41 of file HcalInterpolatedPulseColl.h.

References groups_.

42  {
43  ar & pulses_ & groups_;
44  }
std::vector< HcalInterpolatedPulse > pulses_

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 38 of file HcalInterpolatedPulseColl.h.

Member Data Documentation

HBHEChannelGroups HcalInterpolatedPulseColl::groups_
private
std::vector<HcalInterpolatedPulse> HcalInterpolatedPulseColl::pulses_
private