12#ifndef CALOTRACKINGGEOMETRY_ICALOSURFACEBUILDER_H
13#define CALOTRACKINGGEOMETRY_ICALOSURFACEBUILDER_H
15#include "GaudiKernel/IAlgTool.h"
59 const double etaCaloLocal,
66 const double etaCaloLocal,
97 std::vector<double>& radius,
98 std::vector<double>&
depth,
99 std::vector<double>& hlength)
const = 0;
104 std::vector<double>&
z,
105 std::vector<double>&
depth,
106 std::vector<double>& rmin,
107 std::vector<double>& rmax)
const = 0;
109 virtual std::vector<std::pair<const Trk::Surface*, const Trk::Surface*>>
111 virtual std::vector<std::pair<const Trk::Surface*, const Trk::Surface*>>
CaloPhiRange class declaration.
CaloSubdetNames declaration.
CaloSampling::CaloSample CaloSample
This class provides the client interface for accessing the detector description information common to...
ALIGNVOL
LAr Alignable volumes.
Interface to CaloSurfaceBuilder.
virtual bool get_cylinder_surface(CaloCell_ID::CaloSample sample, int side, Amg::Transform3D &htrans, double &radius, double &hphi, double &hlength, double &depth, const CaloDetDescrManager *calo_dd) const =0
These methods provide the default parameters used by the CaloTrackingGeometry and Surface Builders,...
virtual std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > exitSurfaces(const CaloDetDescrManager *calo_dd) const =0
virtual std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > entrySurfaces(const CaloDetDescrManager *calo_dd) const =0
virtual CaloDepthTool * getCaloDepth()=0
DeclareInterfaceID(ICaloSurfaceBuilder, 1, 0)
Declare interface.
virtual bool get_disk_surface(CaloCell_ID::CaloSample sample, int side, Amg::Transform3D &htrans, double &z, double &rmin, double &rmax, double &hphisec, double &depth, const CaloDetDescrManager *calo_dd) const =0
virtual bool get_disk_surface(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &z, std::vector< double > &depth, std::vector< double > &rmin, std::vector< double > &rmax) const =0
virtual bool get_cylinder_surface(CaloSubdetNames::ALIGNVOL alvol, Amg::Transform3D &htrans, double &hphi, std::vector< double > &radius, std::vector< double > &depth, std::vector< double > &hlength) const =0
virtual Trk::Surface * CreateUserSurface(const CaloCell_ID::CaloSample sample, const double offset, const double etaCaloLocal, const CaloDetDescrManager *calo_dd) const =0
overwrite DD radius/z by CaloDepth radius, and an offset can be added
virtual ~ICaloSurfaceBuilder()=default
Virtual destructor.
virtual Trk::Surface * CreateLastSurface(const CaloCell_ID::CaloSample sample, const double offset, const double etaCaloLocal, const CaloDetDescrManager *calo_dd) const =0
end of the sample for the last layers of the Calo
Class to describe a cylindrical detector layer for tracking, it inhertis from both,...
Class to describe a disc-like detector layer for tracking, it inhertis from both, Layer base class an...
Abstract Base Class for tracking surfaces.
std::string depth
tag string for intendation
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.