88 std::unique_ptr<TrackerGeometry> theTracker(trackerBuilder.
build(&(*gD), *ptp, tTopo));
91 auto theAlignableTracker = std::make_unique<AlignableTracker>(&(*theTracker), tTopo);
96 Alignments* alignments = theAlignableTracker->alignments();
111 throw cms::Exception(
"NotAvailable") <<
"PoolDBOutputService not available";
114 alignmentErrors->clear();
122 delete alignmentErrors;
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
const bool theSaveFakeScenario
whether or not writing to DB
Class to update a given geometry with a set of alignments.
TrackerGeometry * build(const GeometricDet *gd, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
~MisalignedTrackerESProducer() override
Destructor.
const std::string theErrorRecordName
const DepRecordT getRecord() const
MisalignedTrackerESProducer(const edm::ParameterSet &p)
Constructor.
const std::string theAlignRecordName
misalignment scenario
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
const edm::ParameterSet theScenario
if theSaveToDB is true, save a fake scenario (empty alignments), irrespective of the misalignment sce...
cond::Time_t currentTime() const
std::unique_ptr< TrackerGeometry > produce(const TrackerDigiGeometryRecord &iRecord)
Produce the misaligned tracker geometry and store it.
Builds a scenario from configuration and applies it to the alignable tracker.
T const * product() const