|
|
Go to the documentation of this file.
47 using Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
60 template <
typename ALIGNMENT_REC>
75 template <
typename REC>
77 const std::optional<REC>&,
96 : verbosity_(iConfig.getUntrackedParameter<unsigned
int>(
"verbosity")),
97 isRun2_(iConfig.getParameter<
bool>(
"isRun2")),
98 fromDD4hep_(iConfig.getUntrackedParameter<
bool>(
"fromDD4hep",
false)),
117 desc.addUntracked<
unsigned int>(
"verbosity", 1);
118 desc.add<
bool>(
"isRun2",
false)->setComment(
"Switch to legacy (2017-18) definition of diamond geometry");
120 desc.addUntracked<
bool>(
"fromDD4hep",
false);
121 descriptions.
add(
"CTPPSGeometryESModule",
desc);
142 template <
typename REC>
144 std::optional<REC>
const& iAlignRec,
154 if (alignmentsHandle.isValid()) {
155 alignments = alignmentsHandle.product();
162 << alignments->
getSensorMap().size() <<
" sensor alignments applied.";
175 "CTPPSGeometryESModule::produceRealGD");
185 "CTPPSGeometryESModule::produceMisalignedGD");
193 return std::make_unique<CTPPSGeometry>(&gD,
verbosity_);
202 return std::make_unique<CTPPSGeometry>(&gD,
verbosity_);
const DepRecordT getRecord() const
const edm::ESGetToken< DetGeomDesc, IdealGeometryRecord > idealGDToken_
CTPPSGeometryESModule(const edm::ParameterSet &)
Event setup record containing the real (actual) geometry information.
const mapType & getRPMap() const
returns the map of RP alignment corrections
GDTokens(edm::ESConsumesCollector &&iCC)
const mapType & getSensorMap() const
returns the map of sensor alignment corrections
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
std::unique_ptr< DetGeomDesc > produceGD(IdealGeometryRecord const &, const std::optional< REC > &, GDTokens< REC > const &, const char *name)
const GDTokens< RPMisalignedAlignmentRecord > gdMisTokens_
ROOT::Math::Rotation3D RotationMatrix
std::unique_ptr< DetGeomDesc > produceRealGD(const VeryForwardRealGeometryRecord &)
edm::ESGetToken< DDCompactView, IdealGeometryRecord > ddToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const edm::ESGetToken< DetGeomDesc, VeryForwardMisalignedGeometryRecord > dgdMisToken_
const edm::ESGetToken< CTPPSRPAlignmentCorrectionsData, ALIGNMENT_REC > alignmentToken_
Compact representation of the geometrical detector hierarchy.
std::unique_ptr< CTPPSGeometry > produceRealTG(const VeryForwardRealGeometryRecord &)
std::vector< int > fillCopyNos(TGeoIterator &it)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
const GDTokens< RPRealAlignmentRecord > gdRealTokens_
~CTPPSGeometryESModule() override
std::unique_ptr< DetGeomDesc > produceIdealGD(const IdealGeometryRecord &)
const unsigned int verbosity_
std::unique_ptr< DetGeomDesc > produceMisalignedGD(const VeryForwardMisalignedGeometryRecord &)
std::unique_ptr< DetGeomDesc > applyAlignments(const DetGeomDesc &, const CTPPSRPAlignmentCorrectionsData *)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
Event setup record containing the misaligned geometry information. It is used for alignment studies o...
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::optional< DepRecordT > tryToGetRecord() const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Log< level::Info, true > LogVerbatim
const edm::ESGetToken< DetGeomDesc, VeryForwardRealGeometryRecord > dgdRealToken_
Container for CTPPS RP alignment corrections. The corrections are stored on two levels - RP and senso...
std::unique_ptr< DetGeomDesc > buildDetGeomDescFromCompactView(const DDCompactView &myCompactView, const bool isRun2)
std::unique_ptr< CTPPSGeometry > produceMisalignedTG(const VeryForwardMisalignedGeometryRecord &)
edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > dd4hepToken_