CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions
HcalAlignmentEP Class Reference

#include <HcalAlignmentEP.h>

Inheritance diagram for HcalAlignmentEP:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

typedef std::shared_ptr< AlignmentsReturnAli
 
typedef std::shared_ptr< AlignmentErrorsReturnAliErr
 
typedef AlignTransform::Rotation Rot
 
typedef AlignTransform::Translation Trl
 
- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 

Public Member Functions

 HcalAlignmentEP (const edm::ParameterSet &)
 
ReturnAli produceHcalAli (const HcalAlignmentRcd &iRecord)
 
 ~HcalAlignmentEP ()
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
virtual ~ESProducer ()(false)
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
virtual void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval)
 overrides DataProxyProvider method More...
 
virtual ~ESProxyFactoryProducer () noexcept(false)
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
void setWhatProduced (T *iThis, const es::Label &iLabel=es::Label())
 
template<typename T >
void setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
void setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
void setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label())
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
virtual void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList)
 override DataProxyProvider method More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 

Detailed Description

Definition at line 20 of file HcalAlignmentEP.h.

Member Typedef Documentation

typedef std::shared_ptr<Alignments> HcalAlignmentEP::ReturnAli

Definition at line 24 of file HcalAlignmentEP.h.

Definition at line 25 of file HcalAlignmentEP.h.

Definition at line 28 of file HcalAlignmentEP.h.

Definition at line 27 of file HcalAlignmentEP.h.

Constructor & Destructor Documentation

HcalAlignmentEP::HcalAlignmentEP ( const edm::ParameterSet )

Definition at line 13 of file HcalAlignmentEP.cc.

References produceHcalAli(), and edm::ESProducer::setWhatProduced().

13  {
15 }
ReturnAli produceHcalAli(const HcalAlignmentRcd &iRecord)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
HcalAlignmentEP::~HcalAlignmentEP ( )

Definition at line 17 of file HcalAlignmentEP.cc.

17 {}

Member Function Documentation

HcalAlignmentEP::ReturnAli HcalAlignmentEP::produceHcalAli ( const HcalAlignmentRcd iRecord)

Definition at line 19 of file HcalAlignmentEP.cc.

References popcon2dropbox::copy(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), hcalSimParameters_cfi::hb, hbt, hcalSimParameters_cfi::he, photonIsolationHIProducer_cfi::hf, photonIsolationHIProducer_cfi::ho, edm::ESHandleBase::isValid(), Alignments::m_align, HcalGeometry::numberOfAlignments(), HcalGeometry::numberOfBarrelAlignments(), HcalGeometry::numberOfEndcapAlignments(), HcalGeometry::numberOfForwardAlignments(), and HcalGeometry::numberOfOuterAlignments().

Referenced by HcalAlignmentEP().

19  {
20 
22  std::vector<AlignTransform>& vtr ( ali->m_align ) ;
23  const unsigned int nA ( HcalGeometry::numberOfAlignments() ) ;
24  vtr.resize( nA ) ;
25 
30  iRecord.getRecord<HBAlignmentRcd>().get( hb ) ;
31  iRecord.getRecord<HEAlignmentRcd>().get( he ) ;
32  iRecord.getRecord<HFAlignmentRcd>().get( hf ) ;
33  iRecord.getRecord<HOAlignmentRcd>().get( ho ) ;
34 
35  assert( hb.isValid() && // require valid alignments and expected size
36  ( hb->m_align.size() == HcalGeometry::numberOfBarrelAlignments() ) ) ;
37  assert( he.isValid() && // require valid alignments and expected size
38  ( he->m_align.size() == HcalGeometry::numberOfEndcapAlignments() ) ) ;
39  assert( hf.isValid() && // require valid alignments and expected size
40  ( hf->m_align.size() == HcalGeometry::numberOfForwardAlignments() ) ) ;
41  assert( ho.isValid() && // require valid alignments and expected size
42  ( ho->m_align.size() == HcalGeometry::numberOfOuterAlignments() ) ) ;
43  const std::vector<AlignTransform>& hbt = hb->m_align ;
44  const std::vector<AlignTransform>& het = he->m_align ;
45  const std::vector<AlignTransform>& hft = hf->m_align ;
46  const std::vector<AlignTransform>& hot = ho->m_align ;
47 
48  copy( hbt.begin(), hbt.end(), vtr.begin() ) ;
49  copy( het.begin(), het.end(), vtr.begin()+hbt.size() ) ;
50  copy( hft.begin(), hft.end(), vtr.begin()+hbt.size()+het.size() ) ;
51  copy( hot.begin(), hot.end(), vtr.begin()+hbt.size()+het.size()+hft.size() ) ;
52 
53  return ali ;
54 }
static unsigned int numberOfBarrelAlignments()
Definition: HcalGeometry.h:65
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
#define hbt
Definition: AMPTWrapper.h:50
static unsigned int numberOfOuterAlignments()
Definition: HcalGeometry.h:71
static unsigned int numberOfEndcapAlignments()
Definition: HcalGeometry.h:67
static unsigned int numberOfForwardAlignments()
Definition: HcalGeometry.h:69
std::shared_ptr< Alignments > ReturnAli
bool isValid() const
Definition: ESHandle.h:47
static unsigned int numberOfAlignments()
Definition: HcalGeometry.h:75