Skip to content
Snippets Groups Projects

Add support for realistic RICH PMT encoding and decoding

Compare and Show latest version
1 file
+ 30
3
Compare changes
  • Side-by-side
  • Inline
@@ -94,11 +94,38 @@ public:
/// delegation for geometry
inline IGeometryInfo* geometry() override;
Gaudi::XYZPoint toLocal( const Gaudi::XYZPoint& globalPoint ) const { return geometry()->toLocal( globalPoint ); }
Gaudi::XYZVector toLocal( const Gaudi::XYZVector& globalPoint ) const { return geometry()->toLocal( globalPoint ); }
Gaudi::Transform3D toLocalMatrix() const { return geometry()->toLocalMatrix(); }
Gaudi::Transform3D toLocalMatrixNominal() const { return geometry()->toLocalMatrixNominal(); }
Gaudi::XYZPoint toLocal( const Gaudi::XYZPoint& globalPoint ) const { return geometry()->toLocal( globalPoint ); }
Gaudi::XYZVector toLocal( const Gaudi::XYZVector& globalPoint ) const { return geometry()->toLocal( globalPoint ); }
Gaudi::Transform3D toLocal( const Gaudi::Transform3D& transform ) const {
return geometry()->toLocalMatrix() * transform;
}
Gaudi::Transform3D toGlobalMatrix() const { return geometry()->toGlobalMatrix(); }
Gaudi::Transform3D toGlobalMatrixNominal() const { return geometry()->toGlobalMatrixNominal(); }
Gaudi::XYZPoint toGlobal( const Gaudi::XYZPoint& globalPoint ) const { return geometry()->toGlobal( globalPoint ); }
Gaudi::XYZVector toGlobal( const Gaudi::XYZVector& globalPoint ) const { return geometry()->toGlobal( globalPoint ); }
void getGlobalMatrixDecomposition( Gaudi::Rotation3D& ltg_rot, Gaudi::TranslationXYZ& ltg_trans ) const {
Gaudi::Transform3D toGlobal( const Gaudi::Transform3D& transform ) const {
return geometry()->toGlobalMatrix() * transform;
}
Gaudi::Transform3D ownToOffNominalMatrix() const { return geometry()->ownToOffNominalMatrix(); }
/// return true is succesful, false otherwise
bool ownToOffNominalMatrix( const Gaudi::Transform3D& newDelta ) const {
auto sc = const_cast<IGeometryInfo*>( geometry() )->ownToOffNominalMatrix( newDelta );
return sc.isSuccess();
}
std::vector<double> elemDeltaTranslations() const {
return geometry()->alignmentCondition()->paramVect<double>( "dPosXYZ" );
}
std::vector<double> elemDeltaRotations() const {
return geometry()->alignmentCondition()->paramVect<double>( "dRotXYZ" );
}
/// returns motionSystemTransform if we are dealing with the Velo, false otherwise
virtual std::optional<Gaudi::Transform3D> motionSystemTransform() const { return {}; }
void getGlobalMatrixDecomposition( Gaudi::Rotation3D& ltg_rot, Gaudi::TranslationXYZ& ltg_trans ) const {
geometry()->toGlobalMatrix().GetDecomposition( ltg_rot, ltg_trans );
}
Loading