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,
154 return (
a.geographicalID() !=
b.geographicalID()
155 ?
a.geographicalID() <
b.geographicalID()
157 : (
a.name() !=
b.name() ?
a.name() <
b.name() :
a.copyno() <
b.copyno()));
const Translation & translation() const
void applyAlignment(const CTPPSRPAlignmentCorrectionData &)
DetId geographicalID() const
std::vector< DetGeomDesc * > Container
Log< level::Error, false > LogError
void deepDeleteComponents()
std::vector< double > m_params
DiamondDimensions computeDiamondDimensions(const bool isABox, const bool isDD4hep, const std::vector< double > ¶ms) const
DiamondDimensions m_diamondBoxParams
const std::string & sensorType() const
const Container & components() const
float parentZPosition() const
Geometrical description of a sensor.
DetId computeDetID(const std::string &name, const std::vector< int > ©Nos, const unsigned int copyNum, const bool isRun2) const
const DiamondDimensions & getDiamondDimensions() const
bool operator()(const DetGeomDesc &a, const DetGeomDesc &b) const
std::string computeSensorType(std::string_view name)
std::vector< double > computeParameters(const cms::DDFilteredView &fv) const
const RotationMatrix & rotation() const
const std::string & name() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
std::string computeNameWithNoNamespace(std::string_view nameFromView) const
DetId computeDetIDFromDD4hep(const std::string &name, const std::vector< int > ©Nos, const unsigned int copyNum, const bool isRun2) 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.
const std::vector< double > & params() const