|
|
Go to the documentation of this file.
63 : alignmentsLabel_(
p.getParameter<
std::
string>(
"alignmentsLabel")),
64 myLabel_(
p.getParameter<
std::
string>(
"appendToDataLabel")),
65 applyAlignment_(
p.getParameter<
bool>(
"applyAlignment")),
66 fromDDD_(
p.getParameter<
bool>(
"fromDDD"))
83 edm::LogInfo(
"Geometry") <<
"@SUB=MTDDigiGeometryESModule"
92 descDB.
add<
bool>(
"fromDDD",
false);
93 descDB.
add<
bool>(
"applyAlignment",
true);
95 descriptions.
add(
"mtdGeometryDB", descDB);
99 desc.
add<
bool>(
"fromDDD",
true);
100 desc.
add<
bool>(
"applyAlignment",
true);
102 descriptions.
add(
"mtdGeometry", desc);
117 std::unique_ptr<MTDGeometry>
mtd(builder.
build(&(gD), ptp, &tTopo));
125 if (alignments.
empty() && alignmentErrors.
empty() && globalPosition.
empty()) {
126 edm::LogInfo(
"Config") <<
"@SUB=MTDDigiGeometryRecord::produce"
128 <<
"') empty: Geometry producer (label "
129 <<
"'" <<
myLabel_ <<
"') assumes fake and does not apply.";
140 if (surfaceDeformations.
empty()) {
141 edm::LogInfo(
"Config") <<
"@SUB=MTDDigiGeometryRecord::produce"
143 <<
"') empty: Geometry producer (label "
144 <<
"'" <<
myLabel_ <<
"') assumes fake and does not apply.";
edm::ESGetToken< MTDTopology, MTDTopologyRcd > mtdTopoToken_
std::unique_ptr< MTDGeometry > produce(const MTDDigiGeometryRecord &)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
void attachSurfaceDeformations(C *geometry, const AlignmentSurfaceDeformations *surfaceDeformations)
edm::ESGetToken< PMTDParameters, PMTDParametersRcd > pmtdParamsToken_
edm::ESGetToken< AlignmentErrorsExtended, MTDAlignmentErrorExtendedRcd > alignErrorsToken_
edm::ESGetToken< Alignments, MTDAlignmentRcd > mtdAlignToken_
MTDDigiGeometryESModule(const edm::ParameterSet &p)
edm::ESGetToken< AlignmentSurfaceDeformations, MTDSurfaceDeformationRcd > deformationsToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool empty() const
Test of empty vector without having to look into internals:
edm::ESGetToken< Alignments, GlobalPositionRcd > globalAlignToken_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
const std::string alignmentsLabel_
Called when geometry description changes.
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
MTDGeometry * build(const GeometricTimingDet *gd, const PMTDParameters &ptp, const MTDTopology *tTopo)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const bool applyAlignment_
const std::string myLabel_
edm::ESGetToken< GeometricTimingDet, IdealGeometryRecord > geomTimingDetToken_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
bool empty() const
Test of empty vector without having to look into internals:
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Class to update a given geometry with a set of alignments.