Go to the documentation of this file.
95 : m_tag(iConfig.getParameter<
ESInputTag>(
"DDDetector")),
96 m_alignmentsLabel(iConfig.getParameter<
string>(
"alignmentsLabel")),
97 m_myLabel(iConfig.getParameter<
string>(
"appendToDataLabel")),
98 m_attribute(iConfig.getParameter<
string>(
"attribute")),
99 m_value(iConfig.getParameter<
string>(
"value")),
100 m_fromDDD(iConfig.getParameter<
bool>(
"fromDDD")) {
146 if (alignments->
empty() && alignmentErrors->
empty() && globalPosition->
empty()) {
147 edm::LogInfo(
"Config") <<
"@SUB=DTGeometryRecord::produce"
149 <<
"') empty: Geometry producer (label "
150 <<
"'" <<
m_myLabel <<
"') assumes fake and does not apply.";
void setupDBGeometry(DTRecoGeometryRcd const &, shared_ptr< HostType > &)
dd4hep::Detector Detector
T const * product() const
void setupGeometry(MuonNumberingRecord const &, shared_ptr< HostType > &)
edm::ESGetToken< DDDetector, IdealGeometryRecord > m_cpvToken
edm::ESGetToken< DDSpecParRegistry, DDSpecParRegistryRcd > m_registryToken
const string m_alignmentsLabel
edm::ESGetToken< MuonGeometryConstants, IdealGeometryRecord > m_mdcToken
dd4hep::SpecParRefs DDSpecParRefs
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
edm::ESGetToken< AlignmentErrorsExtended, DTAlignmentErrorExtendedRcd > m_alignmentErrorsToken
Log< level::Info, false > LogInfo
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
std::shared_ptr< T > makeOrGet(F iFunc)
If there isn't an object already available, creates a new one using iFunc.
ESProductHost< DTGeometry, MuonNumberingRecord, DTRecoGeometryRcd > HostType
static constexpr float b1
dd4hep::SpecParRegistry DDSpecParRegistry
bool empty() const
Test of empty vector without having to look into internals:
ReusableObjectHolder< HostType > m_holder
shared_ptr< DTGeometry > ReturnType
DTGeometryESProducer(const ParameterSet &)
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
edm::ESGetToken< Alignments, GlobalPositionRcd > m_globalPositionToken
~DTGeometryESProducer() override
static std::atomic< unsigned int > counter
void build(DTGeometry &, const DDDetector *, const MuonGeometryConstants &, const dd4hep::SpecParRefs &)
ReturnType produce(const MuonGeometryRecord &record)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
edm::ESGetToken< Alignments, DTAlignmentRcd > m_alignmentsToken
T getParameter(std::string const &) const
bool empty() const
Test of empty vector without having to look into internals:
Class to update a given geometry with a set of alignments.
Namespace of DDCMS conversion namespace.