Geometrical description of a sensor. More...
#include <DetGeomDesc.h>
Public Types | |
using | Container = std::vector< DetGeomDesc * > |
using | RotationMatrix = ROOT::Math::Rotation3D |
using | Translation = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> |
Public Member Functions | |
void | addComponent (DetGeomDesc *) |
components (children) management More... | |
void | applyAlignment (const RPAlignmentCorrectionData &) |
alignment More... | |
Container | components () const |
access to the tree structure More... | |
int | copyno () const |
DetGeomDesc (DDFilteredView *fv) | |
Constructors to be used when looping over DDD. More... | |
DetGeomDesc (const DetGeomDesc &) | |
copy constructor and assignment operator More... | |
DetId | geographicalID () const |
bool | isLeaf () const |
const std::string & | name () const |
DetGeomDesc & | operator= (const DetGeomDesc &) |
std::vector< double > | params () const |
float | parentZPosition () const |
RotationMatrix | rotation () const |
geometry information More... | |
void | setGeographicalID (DetId id) |
ID stuff. More... | |
Translation | translation () const |
virtual | ~DetGeomDesc () |
destructor More... | |
Private Member Functions | |
void | clearComponents () |
traverses the treee and deletes all nodes. More... | |
void | deepDeleteComponents () |
deletes just the first daughters More... | |
void | deleteComponents () |
DetGeomDesc () | |
Private Attributes | |
Container | m_container |
int | m_copy |
DetId | m_geographicalID |
std::string | m_name |
std::vector< double > | m_params |
RotationMatrix | m_rot |
Translation | m_trans |
float | m_z |
Geometrical description of a sensor.
Class resembling GeometricDet class. Slight changes were made to suit needs of the TOTEM RP description. Each instance is a tree node, with geometrical information from DDD (shift, rotation, material, ...), ID and list of children nodes.
The translation and rotation parameters are defined by local-to-global coordinate transform. That is, if r_l is a point in local coordinate system and x_g in global, then the transform reads:
x_g = rotation * x_l + translation
Definition at line 35 of file DetGeomDesc.h.
using DetGeomDesc::Container = std::vector< DetGeomDesc* > |
Definition at line 38 of file DetGeomDesc.h.
using DetGeomDesc::RotationMatrix = ROOT::Math::Rotation3D |
Definition at line 39 of file DetGeomDesc.h.
using DetGeomDesc::Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>> |
Definition at line 40 of file DetGeomDesc.h.
DetGeomDesc::DetGeomDesc | ( | DDFilteredView * | fv | ) |
Constructors to be used when looping over DDD.
Definition at line 23 of file DetGeomDesc.cc.
DetGeomDesc::DetGeomDesc | ( | const DetGeomDesc & | ref | ) |
copy constructor and assignment operator
Definition at line 33 of file DetGeomDesc.cc.
|
virtual |
destructor
Definition at line 54 of file DetGeomDesc.cc.
References deepDeleteComponents().
|
inlineprivate |
Definition at line 75 of file DetGeomDesc.h.
References deepDeleteComponents(), and deleteComponents().
void DetGeomDesc::addComponent | ( | DetGeomDesc * | det | ) |
components (children) management
Definition at line 68 of file DetGeomDesc.cc.
References m_container.
Referenced by CTPPSGeometryESModule::applyAlignments(), CTPPSGeometryESModule::buildDetGeomDesc(), and parentZPosition().
void DetGeomDesc::applyAlignment | ( | const RPAlignmentCorrectionData & | t | ) |
alignment
Definition at line 93 of file DetGeomDesc.cc.
References RPAlignmentCorrectionData::getRotationMatrix(), RPAlignmentCorrectionData::getTranslation(), m_rot, and m_trans.
Referenced by CTPPSGeometryESModule::applyAlignments(), and copyno().
|
inlineprivate |
traverses the treee and deletes all nodes.
Definition at line 78 of file DetGeomDesc.h.
References m_container.
Referenced by deepDeleteComponents().
DetGeomDesc::Container DetGeomDesc::components | ( | ) | const |
access to the tree structure
Definition at line 61 of file DetGeomDesc.cc.
References m_container.
Referenced by CTPPSGeometryESModule::applyAlignments(), CTPPSGeometry::build(), and geographicalID().
|
inline |
|
private |
deletes just the first daughters
Definition at line 82 of file DetGeomDesc.cc.
References clearComponents(), and m_container.
Referenced by DetGeomDesc(), and ~DetGeomDesc().
|
private |
|
inline |
Definition at line 54 of file DetGeomDesc.h.
References components(), and m_geographicalID.
Referenced by CTPPSGeometryESModule::applyAlignments(), and CTPPSGeometry::build().
|
inline |
|
inline |
Definition at line 67 of file DetGeomDesc.h.
References m_name.
Referenced by config.CFG::__str__(), CTPPSGeometryESModule::applyAlignments(), CTPPSGeometry::build(), validation.Sample::digest(), and VIDSelectorBase.VIDSelectorBase::initialize().
DetGeomDesc & DetGeomDesc::operator= | ( | const DetGeomDesc & | ref | ) |
Definition at line 40 of file DetGeomDesc.cc.
References m_copy, m_geographicalID, m_name, m_params, m_rot, m_trans, and m_z.
|
inline |
Definition at line 68 of file DetGeomDesc.h.
References m_params.
Referenced by CTPPSDiamondRecHitProducerAlgorithm::build(), TotemTimingRecHitProducerAlgorithm::build(), channelAlignedWithTrack(), TotemTimingDQMSource::dqmBeginRun(), and CTPPSDiamondDQMSource::dqmBeginRun().
|
inline |
Definition at line 58 of file DetGeomDesc.h.
References addComponent(), and m_z.
Referenced by CTPPSDiamondRecHitProducerAlgorithm::build(), and TotemTimingRecHitProducerAlgorithm::build().
|
inline |
geometry information
Definition at line 65 of file DetGeomDesc.h.
References m_rot.
Referenced by RPixPlaneCombinatoryTracking::calculatePointOnDetector(), RPixRoadFinder::findPattern(), RPixPlaneCombinatoryTracking::findTracks(), CTPPSGeometry::globalToLocal(), CTPPSGeometry::globalToLocalDirection(), CTPPSGeometry::localToGlobal(), and CTPPSGeometry::localToGlobalDirection().
|
inline |
ID stuff.
Definition at line 53 of file DetGeomDesc.h.
References triggerObjects_cff::id, and m_geographicalID.
Referenced by CTPPSGeometryESModule::buildDetGeomDesc().
|
inline |
Definition at line 66 of file DetGeomDesc.h.
References m_trans.
Referenced by TotemRPDQMSource::analyze(), TotemTimingDQMSource::analyze(), CTPPSDiamondRecHitProducerAlgorithm::build(), TotemTimingRecHitProducerAlgorithm::build(), channelAlignedWithTrack(), TotemTimingDQMSource::dqmBeginRun(), CTPPSDiamondDQMSource::dqmBeginRun(), CTPPSGeometry::globalToLocal(), CTPPSGeometry::localToGlobal(), and TotemRPUVPatternFinder::produce().
|
private |
Definition at line 80 of file DetGeomDesc.h.
Referenced by addComponent(), clearComponents(), components(), deepDeleteComponents(), deleteComponents(), and isLeaf().
|
private |
Definition at line 86 of file DetGeomDesc.h.
Referenced by copyno(), and operator=().
|
private |
Definition at line 85 of file DetGeomDesc.h.
Referenced by geographicalID(), operator=(), and setGeographicalID().
|
private |
Definition at line 83 of file DetGeomDesc.h.
Referenced by name(), and operator=().
|
private |
Definition at line 84 of file DetGeomDesc.h.
Referenced by operator=(), and params().
|
private |
Definition at line 82 of file DetGeomDesc.h.
Referenced by applyAlignment(), operator=(), and rotation().
|
private |
Definition at line 81 of file DetGeomDesc.h.
Referenced by applyAlignment(), operator=(), and translation().
|
private |
Definition at line 87 of file DetGeomDesc.h.
Referenced by operator=(), and parentZPosition().