|
|
Go to the documentation of this file.
31 : useDDD_(
p.getParameter<
bool>(
"useDDD")),
32 useDD4hep_{
p.getUntrackedParameter<
bool>(
"useDD4hep",
false)},
33 alignmentsLabel_(
p.getParameter<
std::string>(
"alignmentsLabel")),
34 myLabel_(
p.getParameter<
std::string>(
"appendToDataLabel")) {
35 auto cc = setWhatProduced(
this);
64 debugV =
p.getUntrackedParameter<
bool>(
"debugV",
false);
67 useDDD_ =
p.getParameter<
bool>(
"useDDD");
71 }
else if (useDD4hep_) {
80 applyAlignment_ =
p.getParameter<
bool>(
"applyAlignment");
81 if (applyAlignment_) {
84 alignmentErrorsToken_ =
89 <<
"Label '" << myLabel_ <<
"' " << (applyAlignment_ ?
"looking for" :
"IGNORING")
90 <<
" alignment labels '" << alignmentsLabel_ <<
"'.";
111 if (alignments.empty() && alignmentErrors.empty() && globalPosition.empty()) {
112 edm::LogInfo(
"Config") <<
"@SUB=CSCGeometryRecord::produce"
114 <<
"') empty: Geometry producer (label "
115 <<
"'" <<
myLabel_ <<
"') assumes fake and does not apply.";
143 bool recreateGeometry =
false;
146 [&recreateGeometry](
auto const& rec) { recreateGeometry =
true; });
149 [&recreateGeometry](
auto const& rec) { recreateGeometry =
true; });
151 if (recreateGeometry) {
T const * product() const
bool useGangedStripsInME1a
edm::ESGetToken< Alignments, GlobalPositionRcd > globalPositionToken_
CSCGeometryESModule(const edm::ParameterSet &p)
Constructor.
std::shared_ptr< T > makeOrGet(F iFunc)
If there isn't an object already available, creates a new one using iFunc.
edm::ESGetToken< AlignmentErrorsExtended, CSCAlignmentErrorExtendedRcd > alignmentErrorsToken_
Compact representation of the geometrical detector hierarchy.
edm::ESGetToken< cms::MuonNumbering, MuonNumberingRecord > mdcTokendd4hep_
void build(CSCGeometry &theGeometry, const RecoIdealGeometry &rig, const CSCRecoDigiParameters &cscpars)
Build the geometry.
edm::ESGetToken< MuonGeometryConstants, IdealGeometryRecord > mdcToken_
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
void build(CSCGeometry &geom, const DDCompactView *fv, const MuonGeometryConstants &muonConstants)
~CSCGeometryESModule() override
Destructor.
edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvToken_
edm::ESGetToken< Alignments, CSCAlignmentRcd > alignmentsToken_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > cpvTokendd4hep_
std::shared_ptr< CSCGeometry > produce(const MuonGeometryRecord &record)
Produce CSCGeometry.
edm::ESGetToken< RecoIdealGeometry, CSCRecoGeometryRcd > rigToken_
edm::ESGetToken< CSCRecoDigiParameters, CSCRecoDigiParametersRcd > rdpToken_
const std::string myLabel_
edm::ReusableObjectHolder< HostType > holder_
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Class to update a given geometry with a set of alignments.
const std::string alignmentsLabel_
edm::ESProductHost< CSCGeometry, MuonNumberingRecord, CSCRecoGeometryRcd, CSCRecoDigiParametersRcd > HostType
void initCSCGeometry_(const MuonGeometryRecord &, std::shared_ptr< HostType > &host)