ATLAS Offline Software
Loading...
Searching...
No Matches
CaloSurfaceBuilder Class Reference

This class creates the Surfaces needed to perform track extrapolation. More...

#include <CaloSurfaceBuilder.h>

Inheritance diagram for CaloSurfaceBuilder:
Collaboration diagram for CaloSurfaceBuilder:

Public Member Functions

 CaloSurfaceBuilder (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~CaloSurfaceBuilder ()
virtual StatusCode initialize () override final
virtual StatusCode finalize () override final
virtual CaloDepthToolgetCaloDepth () override final
virtual Trk::SurfaceCreateUserSurface (const CaloCell_ID::CaloSample sample, const double offset, const double etaCaloLocal, const CaloDetDescrManager *calo_dd) const override final
 overwrite DD radius/z by CaloDepth radius, and an offset can be added
virtual Trk::SurfaceCreateLastSurface (const CaloCell_ID::CaloSample sample, const double offset, const double etaCaloLocal, const CaloDetDescrManager *calo_dd) const override final
 end of the sample for the last layers of the Calo
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 override final
 These methods provide the default parameters used by the CaloTrackingGeometry and Surface Builders, clients should not need to use them.
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 override final
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 override final
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 override final
virtual std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > entrySurfaces (const CaloDetDescrManager *calo_dd) const override final
virtual std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > exitSurfaces (const CaloDetDescrManager *calo_dd) const override final

Private Member Functions

void fill_tg_surfaces (const CaloDetDescrManager *calo_dd) const

Private Attributes

const TileDetDescrManagerm_tile_dd
std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > m_layerEntries ATLAS_THREAD_SAFE
std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > m_layerExits ATLAS_THREAD_SAFE
std::once_flag m_fillOnce ATLAS_THREAD_SAFE
ToolHandle< ICaloRecoMaterialToolm_lar_mat
ToolHandle< ICaloRecoSimpleGeomToolm_lar_simplegeom
ToolHandle< CaloDepthToolm_calodepth

Detailed Description

This class creates the Surfaces needed to perform track extrapolation.

All numbers are provided by the CaloDetDescr tools

Definition at line 56 of file CaloSurfaceBuilder.h.

Constructor & Destructor Documentation

◆ CaloSurfaceBuilder()

CaloSurfaceBuilder::CaloSurfaceBuilder ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 56 of file CaloSurfaceBuilder.cxx.

◆ ~CaloSurfaceBuilder()

CaloSurfaceBuilder::~CaloSurfaceBuilder ( )
virtualdefault

Member Function Documentation

◆ CreateLastSurface()

Trk::Surface * CaloSurfaceBuilder::CreateLastSurface ( const CaloCell_ID::CaloSample sample,
const double offset,
const double etaCaloLocal,
const CaloDetDescrManager * calo_dd ) const
finaloverridevirtual

end of the sample for the last layers of the Calo

Definition at line 248 of file CaloSurfaceBuilder.cxx.

◆ CreateUserSurface()

Trk::Surface * CaloSurfaceBuilder::CreateUserSurface ( const CaloCell_ID::CaloSample sample,
const double offset,
const double etaCaloLocal,
const CaloDetDescrManager * calo_dd ) const
finaloverridevirtual

overwrite DD radius/z by CaloDepth radius, and an offset can be added

Definition at line 123 of file CaloSurfaceBuilder.cxx.

◆ entrySurfaces()

std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > CaloSurfaceBuilder::entrySurfaces ( const CaloDetDescrManager * calo_dd) const
inlinefinaloverridevirtual

Definition at line 162 of file CaloSurfaceBuilder.h.

◆ exitSurfaces()

std::vector< std::pair< const Trk::Surface *, const Trk::Surface * > > CaloSurfaceBuilder::exitSurfaces ( const CaloDetDescrManager * calo_dd) const
inlinefinaloverridevirtual

Definition at line 169 of file CaloSurfaceBuilder.h.

◆ fill_tg_surfaces()

void CaloSurfaceBuilder::fill_tg_surfaces ( const CaloDetDescrManager * calo_dd) const
private

Definition at line 590 of file CaloSurfaceBuilder.cxx.

◆ finalize()

StatusCode CaloSurfaceBuilder::finalize ( )
finaloverridevirtual

Definition at line 97 of file CaloSurfaceBuilder.cxx.

◆ get_cylinder_surface() [1/2]

bool CaloSurfaceBuilder::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
finaloverridevirtual

These methods provide the default parameters used by the CaloTrackingGeometry and Surface Builders, clients should not need to use them.

Definition at line 391 of file CaloSurfaceBuilder.cxx.

◆ get_cylinder_surface() [2/2]

bool CaloSurfaceBuilder::get_cylinder_surface ( CaloSubdetNames::ALIGNVOL alvol,
Amg::Transform3D & htrans,
double & hphi,
std::vector< double > & radius,
std::vector< double > & depth,
std::vector< double > & hlength ) const
finaloverridevirtual

Definition at line 536 of file CaloSurfaceBuilder.cxx.

◆ get_disk_surface() [1/2]

bool CaloSurfaceBuilder::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
finaloverridevirtual

Definition at line 464 of file CaloSurfaceBuilder.cxx.

◆ get_disk_surface() [2/2]

bool CaloSurfaceBuilder::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
finaloverridevirtual

Definition at line 570 of file CaloSurfaceBuilder.cxx.

◆ getCaloDepth()

CaloDepthTool * CaloSurfaceBuilder::getCaloDepth ( )
finaloverridevirtual

Definition at line 383 of file CaloSurfaceBuilder.cxx.

◆ initialize()

StatusCode CaloSurfaceBuilder::initialize ( )
finaloverridevirtual

Definition at line 71 of file CaloSurfaceBuilder.cxx.

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/3]

std::vector<std::pair<const Trk::Surface*, const Trk::Surface*> > m_layerEntries CaloSurfaceBuilder::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 145 of file CaloSurfaceBuilder.h.

◆ ATLAS_THREAD_SAFE [2/3]

std::vector<std::pair<const Trk::Surface*, const Trk::Surface*> > m_layerExits CaloSurfaceBuilder::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 147 of file CaloSurfaceBuilder.h.

◆ ATLAS_THREAD_SAFE [3/3]

std::once_flag m_fillOnce CaloSurfaceBuilder::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 148 of file CaloSurfaceBuilder.h.

◆ m_calodepth

ToolHandle<CaloDepthTool> CaloSurfaceBuilder::m_calodepth
private
Initial value:

Definition at line 155 of file CaloSurfaceBuilder.h.

◆ m_lar_mat

ToolHandle<ICaloRecoMaterialTool> CaloSurfaceBuilder::m_lar_mat
private

Definition at line 151 of file CaloSurfaceBuilder.h.

◆ m_lar_simplegeom

ToolHandle<ICaloRecoSimpleGeomTool> CaloSurfaceBuilder::m_lar_simplegeom
private

Definition at line 152 of file CaloSurfaceBuilder.h.

◆ m_tile_dd

const TileDetDescrManager* CaloSurfaceBuilder::m_tile_dd
private

Definition at line 138 of file CaloSurfaceBuilder.h.


The documentation for this class was generated from the following files: