31 declareInterface<ISurfaceBuilder>(
this);
59 return StatusCode::SUCCESS;
66 return StatusCode::SUCCESS;
72 std::vector<const Trk::Surface*>* cSurfaces =
new std::vector<const Trk::Surface*>();
76 if (csf) cSurfaces->push_back(csf);
100 sType = sType == 6 ? 5 : sType;
119 rotation.col(0) = curvUVT.
curvU();
120 rotation.col(1) = curvUVT.
curvV();
121 rotation.col(2) = curvUVT.
curvT();
123 (*transform) = translation;
124 (*transform).rotate(rotation);
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Class for a conical surface in the ATLAS detector.
simple class that constructs the curvilinear vectors curvU and curvV from a given momentum direction ...
const Amg::Vector3D & curvU() const
Access methods.
const Amg::Vector3D & curvT() const
const Amg::Vector3D & curvV() const
Class for a CylinderSurface in the ATLAS detector.
Class for a DiscSurface in the ATLAS detector.
Class describing the Line to which the Perigee refers to.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
StatusCode finalize()
AlgTool finalize method.
StatusCode initialize()
AlgTool initialize method.
SmartIF< IRndmGenSvc > m_rndmSvc
random number engine used
Rndm::Numbers * m_flatDist
size_t m_numberOfSurfaces
RandomSurfaceBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
const Surface * surface() const
SurfaceBuilder interface method - provice a single surface.
virtual ~RandomSurfaceBuilder()
Destructor.
const std::vector< const Surface * > * surfaces() const
SurfaceBuilder interface method - provide a vector of surfaces -.
Rndm::Numbers * m_gaussDist
std::vector< double > m_worldDimensions
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
Abstract Base Class for tracking surfaces.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Eigen::Translation< double, 3 > Translation3D