CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
MTDDetLayerGeometryESProducer Class Reference
Inheritance diagram for MTDDetLayerGeometryESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

 MTDDetLayerGeometryESProducer (const edm::ParameterSet &p)
 Constructor. More...
 
std::unique_ptr< MTDDetLayerGeometryproduce (const MTDRecoGeometryRecord &record)
 Produce MuonDeLayerGeometry. More...
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESProxyIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Private Attributes

edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecordgeomToken_
 
edm::ESGetToken< MTDTopology, MTDTopologyRcdmtdtopoToken_
 

Additional Inherited Members

- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &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={})
 
void usesResources (std::vector< std::string > const &)
 
- 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 EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

Definition at line 30 of file MTDDetLayerGeometryESProducer.cc.

Constructor & Destructor Documentation

◆ MTDDetLayerGeometryESProducer()

MTDDetLayerGeometryESProducer::MTDDetLayerGeometryESProducer ( const edm::ParameterSet p)

Constructor.

Definition at line 47 of file MTDDetLayerGeometryESProducer.cc.

47  {
48  auto cc = setWhatProduced(this);
49  geomToken_ = cc.consumes();
50  mtdtopoToken_ = cc.consumes();
51 }

Member Function Documentation

◆ fillDescriptions()

void MTDDetLayerGeometryESProducer::fillDescriptions ( edm::ConfigurationDescriptions desc)
static

Definition at line 75 of file MTDDetLayerGeometryESProducer.cc.

75  {
77  desc.addDefault(ps);
78 }

References submitPVResolutionJobs::desc.

◆ produce()

std::unique_ptr< MTDDetLayerGeometry > MTDDetLayerGeometryESProducer::produce ( const MTDRecoGeometryRecord record)

Produce MuonDeLayerGeometry.

Definition at line 53 of file MTDDetLayerGeometryESProducer.cc.

53  {
54  auto mtdDetLayerGeometry = std::make_unique<MTDDetLayerGeometry>();
55 
56  if (auto mtd = record.getHandle(geomToken_)) {
57  // Build BTL layers
59  // Build ETL layers, depends on the scenario
60  if (auto mtdtopo = record.getHandle(mtdtopoToken_)) {
61  mtdDetLayerGeometry->addETLLayers(ETLDetLayerGeometryBuilder::buildLayers(*mtd, mtdtopo->getMTDTopologyMode()));
62  } else {
63  LogWarning("MTDDetLayers") << "No MTD topology is available.";
64  }
65  } else {
66  LogWarning("MTDDetLayers") << "No MTD geometry is available.";
67  }
68 
69  // Sort layers properly
70  mtdDetLayerGeometry->sortLayers();
71 
72  return mtdDetLayerGeometry;
73 }

References ETLDetLayerGeometryBuilder::buildLayers(), BTLDetLayerGeometryBuilder::buildLayers(), mtdDetLayerGeometry_cfi::mtdDetLayerGeometry, and GlobalPosition_Frontier_DevDB_cff::record.

Member Data Documentation

◆ geomToken_

edm::ESGetToken<MTDGeometry, MTDDigiGeometryRecord> MTDDetLayerGeometryESProducer::geomToken_
private

Definition at line 41 of file MTDDetLayerGeometryESProducer.cc.

◆ mtdtopoToken_

edm::ESGetToken<MTDTopology, MTDTopologyRcd> MTDDetLayerGeometryESProducer::mtdtopoToken_
private

Definition at line 42 of file MTDDetLayerGeometryESProducer.cc.

edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
BTLDetLayerGeometryBuilder::buildLayers
static std::vector< DetLayer * > buildLayers(const MTDGeometry &geo)
Operations.
Definition: BTLDetLayerGeometryBuilder.cc:23
ETLDetLayerGeometryBuilder::buildLayers
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildLayers(const MTDGeometry &geo, const int mtdTopologyMode)
Definition: ETLDetLayerGeometryBuilder.cc:21
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
cc
MTDDetLayerGeometryESProducer::geomToken_
edm::ESGetToken< MTDGeometry, MTDDigiGeometryRecord > geomToken_
Definition: MTDDetLayerGeometryESProducer.cc:41
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
mtdDetLayerGeometry_cfi.mtdDetLayerGeometry
mtdDetLayerGeometry
Definition: mtdDetLayerGeometry_cfi.py:6
MTDDetLayerGeometryESProducer::mtdtopoToken_
edm::ESGetToken< MTDTopology, MTDTopologyRcd > mtdtopoToken_
Definition: MTDDetLayerGeometryESProducer.cc:42
mtd_digitizer
Definition: MTDDigitizer.h:35