File CylinderLayer.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

class CylinderLayer : public Acts::CylinderSurface, public Acts::Layer
#include <Acts/Geometry/CylinderLayer.hpp>

Class to describe a cylindrical detector layer for tracking, it inhertis from both, Layer base class and CylinderSurface class.

Public Functions

CylinderLayer(const CylinderLayer &cla) = delete
CylinderLayer() = delete
~CylinderLayer() override = default
CylinderLayer &operator=(const CylinderLayer&) = delete
virtual const CylinderSurface &surfaceRepresentation() const override

Transforms the layer into a Surface representation This is for positioning and extrapolation.

virtual CylinderSurface &surfaceRepresentation() override

Public Static Functions

static inline std::shared_ptr<CylinderLayer> create(const Transform3 &transform, const std::shared_ptr<const CylinderBounds> &cbounds, std::unique_ptr<SurfaceArray> surfaceArray = nullptr, double thickness = 0., std::unique_ptr<ApproachDescriptor> ad = nullptr, LayerType laytyp = passive)

Factory for shared Layer pointer create a shared, fully deployed CylinderLayer.

Parameters
  • transform – is the 3D transform that places the layer in 3D space

  • cbounds – are the cylindrical bounds of the layer

  • surfaceArray – is the Binned Array that holds the sensitive surfaces

  • thickness – is the layer thickness (along the normal)

  • ad – is the approach descriptor for approaching the layer

  • laytyp – is the layer type

Returns

The return object is a shared poiter to the layer.

Protected Functions

CylinderLayer(const Transform3 &transform, const std::shared_ptr<const CylinderBounds> &cBounds, std::unique_ptr<SurfaceArray> surfaceArray = nullptr, double thickness = 0., std::unique_ptr<ApproachDescriptor> ades = nullptr, LayerType laytyp = passive)

Private constructor for CylinderLayer, called by create(args*) factory.

Parameters
  • transform – is the 3D transform that places the layer in 3D space

  • cBounds – The cylindrical bounds of the layer

  • surfaceArray – is the Binned Array that holds the sensitive surfaces

  • thickness – is the layer thickness (along the normal)

  • ades – are the approach descriptors for approaching the layer

  • laytyp – is the layer type

CylinderLayer(const CylinderLayer &cla, const Transform3 &shift)

Private copy constructor with shift, called by create(args*)

Parameters
  • cla – is the source cylinder layer for the copy

  • shift – is the additional transform applied after cloning

Private Functions

void buildApproachDescriptor()

build approach surfaces */