9#ifndef TRT_BarrelDescriptor_h
10#define TRT_BarrelDescriptor_h 1
13#include "GeoModelKernel/GeoXF.h"
53 void addStraw(
double xPos,
double yPos);
60 inline const double &
strawXPos (
unsigned int i)
const;
64 inline const double &
strawYPos (
unsigned int i)
const;
109 const GeoXF::Function *
m_f;
Cached unique_ptr with atomic update.
TRT_BarrelDescriptor()
Constructor:
const double & strawYPos(unsigned int i) const
void setStrawTransformField(const GeoXF::Function *xf, size_t offsetInto)
Sets the transform field for straws and offset.
const double & strawLength() const
Get the length of the straws:
std::vector< double > m_y
const GeoXF::Function * getStrawTransform() const
Get the tranformation field, which we do not own: Does not include the z shift which is different for...
std::vector< double > m_x
double & strawYPos(unsigned int i)
Get Y Position:
TRT_BarrelDescriptor & operator=(const TRT_BarrelDescriptor &right)=delete
const GeoXF::Function * m_f
void strawZDead(double zDead)
TRT_BarrelDescriptor(TRT_BarrelDescriptor &&right)=default
void strawZPos(double Pos)
const double & strawZDead() const
Dead part.
TRT_BarrelDescriptor(const TRT_BarrelDescriptor &right)=delete
void addStraw(double xPos, double yPos)
Add a new straw at position x, y:
CxxUtils::CachedUniquePtr< Trk::CylinderBounds > m_bounds
void strawLength(double newLength)
double & strawXPos(unsigned int i)
Get X Position:
~TRT_BarrelDescriptor()=default
Destructor:
double innerTubeRadius() const
Get inner tube radius of the straw.
size_t getStrawTransformOffset() const
Get the offset into the transformation field:
const double & strawZPos() const
Position of center of active region.
unsigned int nStraws() const
Get the number of straws:
TRT_BarrelDescriptor & operator=(TRT_BarrelDescriptor &&right)=default
const Trk::SurfaceBounds & strawBounds() const
Get Bounds.
const double & strawXPos(unsigned int i) const
Bounds for a cylindrical Surface.
Abstract base class for surface bounds to be specified.
CachedUniquePtrT< const T > CachedUniquePtr
Ensure that the ATLAS eigen extensions are properly loaded.