17#ifndef MUONCHAMBERPROJECTIONHELPER_H
18#define MUONCHAMBERPROJECTIONHELPER_H
26#include "GeoModelKernel/GeoVPhysVol.h"
55 double& distanceToFirstEndPlane,
double& distanceToSecondEndPlane,
56 const double& radius = 0.0 );
70 bool& outsidechamber );
85 const double & extradist = 0.0 );
bool isKnownMDTChamber(const GeoPVConstLink &mdtChamber)
bool projectAndConstrainLineSegmentToMDTChamberEndWalls(const GeoPVConstLink &mdtChamber, const Amg::Vector3D &pointA, const Amg::Vector3D &pointB, Amg::Vector3D &firstEndWall_pointA, Amg::Vector3D &firstEndWall_pointB, Amg::Vector3D &secondEndWall_pointA, Amg::Vector3D &secondEndWall_pointB, bool &outsidechamber)
MuonChamberProjectionHelper(StoreGateSvc *detectorStore)
~MuonChamberProjectionHelper()
bool getDistancesToMDTChamberWallsAlongLine(const GeoPVConstLink &mdtChamber, const Amg::Vector3D &point, const Amg::Vector3D &lineDirection, double &distanceToFirstEndPlane, double &distanceToSecondEndPlane, const double &radius=0.0)
MuonChamberProjectionHelper(const MuonChamberProjectionHelper &)
static Amg::Vector3D & applyTransformToVector(const Amg::Transform3D &m, Amg::Vector3D &v)
MuonChamberProjectionHelper & operator=(const MuonChamberProjectionHelper &)
bool clipLineSegmentToMDTChamber(const GeoPVConstLink &mdtChamber, Amg::Vector3D &pointA, Amg::Vector3D &pointB, bool &outsidechamber, const double &extradist=0.0)
The Athena Transient Store API.
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D