24 : alignmentsLabel_(p.getParameter<
std::
string>(
"alignmentsLabel")),
25 myLabel_(p.getParameter<
std::
string>(
"appendToDataLabel")),
26 fromDDD_(p.getParameter<
bool>(
"fromDDD"))
53 std::shared_ptr<DTGeometry>
62 [
this, &
host](
auto const& rec) {
67 [
this, &
host](
auto const& rec) {
81 if (alignments.empty() && alignmentErrors.empty() && globalPosition.empty()) {
82 edm::LogInfo(
"Config") <<
"@SUB=DTGeometryRecord::produce" 83 <<
"Alignment(Error)s and global position (label '" 85 <<
"'" <<
myLabel_ <<
"') assumes fake and does not apply.";
89 &alignments, &alignmentErrors,
99 std::shared_ptr<HostType>&
host) {
114 std::shared_ptr<HostType>&
host ) {
124 builder.
build(host, rig);
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
std::shared_ptr< DTGeometry > produce(const MuonGeometryRecord &record)
Produce DTGeometry.
edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvToken_
Class to update a given geometry with a set of alignments.
edm::ReusableObjectHolder< HostType > holder_
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
std::shared_ptr< T > makeOrGet(F iFunc)
If there isn't an object already available, creates a new one using iFunc.
Compact representation of the geometrical detector hierarchy.
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
~DTGeometryESModule() override
Destructor.
const std::string myLabel_
void build(DTGeometry &theGeometry, const DDCompactView *cview, const MuonDDDConstants &muonConstants)
const std::string alignmentsLabel_
edm::ESProductHost< DTGeometry, MuonNumberingRecord, DTRecoGeometryRcd > HostType
void setupDBGeometry(DTRecoGeometryRcd const &, std::shared_ptr< HostType > &)
edm::ESGetToken< Alignments, GlobalPositionRcd > globalPositionToken_
edm::ESGetToken< MuonDDDConstants, MuonNumberingRecord > mdcToken_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
void setupGeometry(MuonNumberingRecord const &, std::shared_ptr< HostType > &)
T const * product() const
edm::ESGetToken< Alignments, DTAlignmentRcd > alignmentsToken_
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
DTGeometryESModule(const edm::ParameterSet &p)
Constructor.
void build(const std::shared_ptr< DTGeometry > &theGeometry, const RecoIdealGeometry &rig)
edm::ESGetToken< AlignmentErrorsExtended, DTAlignmentErrorExtendedRcd > alignmentErrorsToken_
edm::ESGetToken< RecoIdealGeometry, DTRecoGeometryRcd > rigToken_