Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::StrawSurface Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/StrawSurface.hpp>

+ Inheritance diagram for Acts::StrawSurface:
+ Collaboration diagram for Acts::StrawSurface:

Public Member Functions

 ~StrawSurface () override=default
 
 StrawSurface ()=delete
 
StrawSurfaceoperator= (const StrawSurface &other)
 
SurfaceType type () const final
 Return the surface type.
 
std::string name () const final
 Return properly formatted class name for screen output */.
 
Polyhedron polyhedronRepresentation (const GeometryContext &gctx, size_t lseg) const final
 
- Public Member Functions inherited from Acts::LineSurface
 ~LineSurface () override=default
 
 LineSurface ()=delete
 
LineSurfaceoperator= (const LineSurface &other)
 
Vector3 normal (const GeometryContext &gctx, const Vector2 &lposition) const final
 
Vector3 binningPosition (const GeometryContext &gctx, BinningValue bValue) const final
 
RotationMatrix3 referenceFrame (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final
 
BoundToFreeMatrix boundToFreeJacobian (const GeometryContext &gctx, const BoundVector &boundParams) const final
 
FreeToPathMatrix freeToPathDerivative (const GeometryContext &gctx, const FreeVector &parameters) const final
 
Vector3 localToGlobal (const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &direction) const final
 
Result< Vector2globalToLocal (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, double tolerance=s_onSurfaceTolerance) const final
 
SurfaceMultiIntersection intersect (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck=false, ActsScalar tolerance=s_onSurfaceTolerance) const final
 
double pathCorrection (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const override
 
const SurfaceBoundsbounds () const final
 This method returns the bounds of the surface by reference.
 
AlignmentToPathMatrix alignmentToPathDerivative (const GeometryContext &gctx, const FreeVector &parameters) const final
 
ActsMatrix< 2, 3 > localCartesianToBoundLocalDerivative (const GeometryContext &gctx, const Vector3 &position) const final
 
Vector3 lineDirection (const GeometryContext &gctx) const
 
- Public Member Functions inherited from Acts::Surface
virtual ~Surface ()
 
std::shared_ptr< SurfacegetSharedPtr ()
 
std::shared_ptr< const SurfacegetSharedPtr () const
 
Surfaceoperator= (const Surface &other)
 
virtual bool operator== (const Surface &other) const
 
virtual bool operator!= (const Surface &sf) const
 
virtual const Transform3transform (const GeometryContext &gctx) const
 
virtual Vector3 center (const GeometryContext &gctx) const
 
virtual Vector3 normal (const GeometryContext &gctx, const Vector3 &position) const
 
virtual Vector3 normal (const GeometryContext &gctx) const
 
const DetectorElementBaseassociatedDetectorElement () const
 
const LayerassociatedLayer () const
 
void associateLayer (const Layer &lay)
 
const ISurfaceMaterialsurfaceMaterial () const
 
const std::shared_ptr< const
ISurfaceMaterial > & 
surfaceMaterialSharedPtr () const
 
void assignDetectorElement (const DetectorElementBase &detelement)
 
void assignSurfaceMaterial (std::shared_ptr< const ISurfaceMaterial > material)
 
bool isOnSurface (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck=true) const
 
virtual bool insideBounds (const Vector2 &lposition, const BoundaryCheck &bcheck=true) const
 
virtual FreeToBoundMatrix freeToBoundJacobian (const GeometryContext &gctx, const FreeVector &parameters) const
 
virtual std::ostream & toStream (const GeometryContext &gctx, std::ostream &sl) const
 
std::string toString (const GeometryContext &gctx) const
 
AlignmentToBoundMatrix alignmentToBoundDerivative (const GeometryContext &gctx, const FreeVector &parameters, const FreeVector &pathDerivative) const
 
- Public Member Functions inherited from Acts::GeometryObject
 GeometryObject ()=default
 Defaulted constructor.
 
 GeometryObject (const GeometryObject &)=default
 Defaulted copy constructor.
 
 GeometryObject (const GeometryIdentifier &geometryId)
 
GeometryObjectoperator= (const GeometryObject &geometryId)
 
const GeometryIdentifiergeometryId () const
 
virtual double binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const
 
void assignGeometryId (const GeometryIdentifier &geometryId)
 

Protected Member Functions

 StrawSurface (const Transform3 &transform, double radius, double halez)
 
 StrawSurface (const Transform3 &transform, std::shared_ptr< const LineBounds > lbounds=nullptr)
 
 StrawSurface (const std::shared_ptr< const LineBounds > &lbounds, const DetectorElementBase &detelement)
 
 StrawSurface (const StrawSurface &other)
 
 StrawSurface (const GeometryContext &gctx, const StrawSurface &other, const Transform3 &shift)
 
- Protected Member Functions inherited from Acts::LineSurface
 LineSurface (const Transform3 &transform, double radius, double halez)
 
 LineSurface (const Transform3 &transform, std::shared_ptr< const LineBounds > lbounds=nullptr)
 
 LineSurface (std::shared_ptr< const LineBounds > lbounds, const DetectorElementBase &detelement)
 
 LineSurface (const LineSurface &other)
 
 LineSurface (const GeometryContext &gctx, const LineSurface &other, const Transform3 &shift)
 
- Protected Member Functions inherited from Acts::Surface
 Surface (const Transform3 &transform=Transform3::Identity())
 
 Surface (const Surface &other)
 
 Surface (const DetectorElementBase &detelement)
 
 Surface (const GeometryContext &gctx, const Surface &other, const Transform3 &shift)
 

Private Attributes

friend Surface
 

Additional Inherited Members

- Public Types inherited from Acts::Surface
enum  SurfaceType {
  Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3,
  Plane = 4, Straw = 5, Curvilinear = 6, Other = 7
}
 
- Static Public Member Functions inherited from Acts::Surface
template<class T , typename... Args>
static std::shared_ptr< TmakeShared (Args &&...args)
 
- Static Public Attributes inherited from Acts::Surface
static std::array< std::string,
SurfaceType::Other > 
s_surfaceTypeNames
 Helper strings for screen output.
 
- Protected Attributes inherited from Acts::LineSurface
std::shared_ptr< const LineBoundsm_bounds
 bounds (shared)
 

Detailed Description

Class for a StrawSurface in the TrackingGeometry to describe dirft tube and straw like detectors.

LineSurface.png

Definition at line 34 of file StrawSurface.hpp.

View newest version in sPHENIX GitHub at line 34 of file StrawSurface.hpp

Constructor & Destructor Documentation

Acts::StrawSurface::StrawSurface ( const Transform3 transform,
double  radius,
double  halez 
)
protected

Constructor from Transform3 and bounds

Parameters
transformthe transform that positions the straw in the global frame
radiusis the straw radius
halezis the half length in z

Definition at line 21 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 21 of file StrawSurface.cpp

Acts::StrawSurface::StrawSurface ( const Transform3 transform,
std::shared_ptr< const LineBounds lbounds = nullptr 
)
protected

Constructor from Transform3 and a shared bounds object

Parameters
transformthe transform that positions the straw in the global frame
lboundsare the bounds describing the straw dimensions, can be optionally nullptr

Definition at line 25 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 25 of file StrawSurface.cpp

Acts::StrawSurface::StrawSurface ( const std::shared_ptr< const LineBounds > &  lbounds,
const DetectorElementBase detelement 
)
protected

Constructor from DetectorElementBase : Element proxy

Parameters
lboundsare the bounds describing the straw dimensions, they must not be nullptr
detelementfor which this surface is (at least) one representation

Definition at line 29 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 29 of file StrawSurface.cpp

Acts::StrawSurface::StrawSurface ( const StrawSurface other)
protected

Copy constructor

Parameters
otheris the source surface for copying

Definition at line 34 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 34 of file StrawSurface.cpp

Acts::StrawSurface::StrawSurface ( const GeometryContext gctx,
const StrawSurface other,
const Transform3 shift 
)
protected

Copy constructor - with shift

Parameters
gctxThe current geometry context object, e.g. alignment
otheris the source cone surface
shiftis the additional transform applied after copying

Definition at line 37 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 37 of file StrawSurface.cpp

Acts::StrawSurface::~StrawSurface ( )
overridedefault
Acts::StrawSurface::StrawSurface ( )
delete

Member Function Documentation

std::string Acts::StrawSurface::name ( ) const
inlinefinalvirtual

Return properly formatted class name for screen output */.

Reimplemented from Acts::LineSurface.

Definition at line 109 of file StrawSurface.hpp.

View newest version in sPHENIX GitHub at line 109 of file StrawSurface.hpp

Acts::StrawSurface & Acts::StrawSurface::operator= ( const StrawSurface other)

Assignment operator

Parameters
otheris the source surface for copying

Definition at line 42 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 42 of file StrawSurface.cpp

References Acts::LineSurface::m_bounds, and Acts::LineSurface::operator=().

+ Here is the call graph for this function:

Acts::Polyhedron Acts::StrawSurface::polyhedronRepresentation ( const GeometryContext gctx,
size_t  lseg 
) const
finalvirtual

Return a Polyhedron for the surfaces

Parameters
gctxThe current geometry context object, e.g. alignment
lsegNumber of segments along curved lines, it represents the full 2*M_PI coverange, if lseg is set to 1 only the extrema are given
Note
if lseg is set to 1 then only the straw is created
Returns
A list of vertices and a face/facett description of it

Helper method to create the segment

Implements Acts::Surface.

Definition at line 50 of file StrawSurface.cpp.

View newest version in sPHENIX GitHub at line 50 of file StrawSurface.cpp

References Acts::detail::VerticesHelper::createSegment(), Acts::detail::FacesHelper::cylindricalFaceMesh(), Acts::LineBounds::eHalfLengthZ, Acts::LineBounds::eR, left(), Acts::detail::VerticesHelper::phiSegments(), physmon_track_finding_ttbar::r, Acts::Test::transform, and ActsExamples::HepMC3Event::vertices().

+ Here is the call graph for this function:

Surface::SurfaceType Acts::StrawSurface::type ( ) const
inlinefinalvirtual

Return the surface type.

Implements Acts::Surface.

Definition at line 105 of file StrawSurface.hpp.

View newest version in sPHENIX GitHub at line 105 of file StrawSurface.hpp

References Acts::Surface::Straw.

Member Data Documentation

friend Acts::StrawSurface::Surface
private

Definition at line 36 of file StrawSurface.hpp.

View newest version in sPHENIX GitHub at line 36 of file StrawSurface.hpp


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