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

using ReturnAli = std::unique_ptr< Alignments >
 
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 () override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer ()(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
 overrides DataProxyProvider method More...
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- 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
 ESProducer (const ESProducer &)=delete
 
ESProducer const & operator= (const ESProducer &)=delete
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
- 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())
 
void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
 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

using HcalAlignmentEP::ReturnAli = std::unique_ptr<Alignments>

Definition at line 24 of file HcalAlignmentEP.h.

Definition at line 27 of file HcalAlignmentEP.h.

Definition at line 26 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 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:124
ReturnAli produceHcalAli(const HcalAlignmentRcd &iRecord)
HcalAlignmentEP::~HcalAlignmentEP ( )
override

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