12 #ifndef Geometry_VeryForwardGeometryBuilder_DetGeomDesc
13 #define Geometry_VeryForwardGeometryBuilder_DetGeomDesc
23 #include <Math/Rotation3D.h>
55 using Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
92 edm::LogError(
"DetGeomDesc::getDiamondDimensions is not called on a box, for solid ")
126 const std::vector<double>&
params)
const;
128 const std::vector<int>& copyNos,
129 const unsigned int copyNum,
132 const std::vector<int>& copyNos,
133 const unsigned int copyNum,
const std::vector< double > & params() const
DetId geographicalID() const
const Translation & translation() const
const std::string & sensorType() const
const DiamondDimensions & getDiamondDimensions() const
void applyAlignment(const CTPPSRPAlignmentCorrectionData &)
std::string computeNameWithNoNamespace(std::string_view nameFromView) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> Translation
std::vector< DetGeomDesc * > Container
Log< level::Error, false > LogError
void deepDeleteComponents()
std::vector< double > m_params
DiamondDimensions m_diamondBoxParams
DiamondDimensions computeDiamondDimensions(const bool isABox, const bool isDD4hep, const std::vector< double > ¶ms) const
Geometrical description of a sensor.
DetId computeDetIDFromDD4hep(const std::string &name, const std::vector< int > ©Nos, const unsigned int copyNum, const bool isRun2) const
const Container & components() const
bool operator()(const DetGeomDesc &a, const DetGeomDesc &b) const
std::string computeSensorType(std::string_view name)
const std::string & name() const
DetId computeDetID(const std::string &name, const std::vector< int > ©Nos, const unsigned int copyNum, const bool isRun2) const
float parentZPosition() const
const RotationMatrix & rotation() const
std::vector< double > computeParameters(const cms::DDFilteredView &fv) const
void addComponent(DetGeomDesc *)
DetGeomDesc(const DDFilteredView &fv, const bool isRun2)
ROOT::Math::Rotation3D RotationMatrix
Alignment correction for an element of the CT-PPS detector. Within the geometry description, every sensor (more generally every element) is given its translation and rotation. These two quantities shall be understood in local-to-global coordinate transform. That is, if r_l is a point in local coordinate system and x_g in global, then it holds.