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")) {
143 if (alignments.empty() && alignmentErrors.empty() && globalPosition.empty()) {
144 edm::LogInfo(
"Config") <<
"@SUB=DTGeometryRecord::produce"
145 <<
"Alignment and global position errors";
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
edm::ESGetToken< MuonGeometryConstants, IdealGeometryRecord > m_mdcToken
Class to update a given geometry with a set of alignments.
dd4hep::SpecParRefs DDSpecParRefs
edm::ESGetToken< AlignmentErrorsExtended, DTAlignmentErrorExtendedRcd > m_alignmentErrorsToken
const string m_alignmentsLabel
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
void build(DTGeometry &, const DDDetector *, const MuonGeometryConstants &, const dd4hep::SpecParRefs &)
ESProductHost< DTGeometry, MuonNumberingRecord, DTRecoGeometryRcd > HostType
dd4hep::Detector Detector
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
dd4hep::SpecParRegistry DDSpecParRegistry
shared_ptr< DTGeometry > ReturnType
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
edm::ESGetToken< Alignments, GlobalPositionRcd > m_globalPositionToken
ReusableObjectHolder< HostType > m_holder
std::shared_ptr< T > makeOrGet(FM &&iMakeFunc)
Takes an object from the queue if one is available, or creates one using iMakeFunc.
Log< level::Info, false > LogInfo
ReturnType produce(const MuonGeometryRecord &record)
~DTGeometryESProducer() override
T getParameter(std::string const &) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
T const * product() const
edm::ESGetToken< DDSpecParRegistry, DDSpecParRegistryRcd > m_registryToken
void setupDBGeometry(DTRecoGeometryRcd const &, shared_ptr< HostType > &)
DTGeometryESProducer(const ParameterSet &)
static std::atomic< unsigned int > counter
void setupGeometry(MuonNumberingRecord const &, shared_ptr< HostType > &)
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
edm::ESGetToken< DDDetector, IdealGeometryRecord > m_cpvToken
edm::ESGetToken< Alignments, DTAlignmentRcd > m_alignmentsToken
static constexpr float b1