|
ATLAS Offline Software
|
#include <TRT_EndcapElement.h>
|
| TRT_EndcapElement (const GeoVFullPhysVol *volume, const TRT_EndcapDescriptor *descriptor, bool isPositive, unsigned int wheelIndex, unsigned int strawLayIndex, unsigned int phiIndex, const TRT_ID *idHelper, const TRT_Conditions *conditions) |
| Constructor. More...
|
|
| TRT_EndcapElement (const TRT_EndcapElement &right) |
|
virtual | ~TRT_EndcapElement () |
| Destructor: More...
|
|
virtual TRT_BaseElement::Type | type () const override final |
| Type information: More...
|
|
virtual const double & | strawLength () const override |
| Active straw length. More...
|
|
virtual int | strawDirection () const override final |
| StrawDirection. More...
|
|
const TRT_EndcapDescriptor * | getDescriptor () const |
| Returns a pointer to a descriptor, giving common information on module construction. More...
|
|
const TRT_EndcapElement * | nextInZ () const |
| Next in Z: More...
|
|
const TRT_EndcapElement * | previousInZ () const |
| Prev in Z: More...
|
|
void | setNextInZ (const TRT_EndcapElement *element) |
| Set Next in Z. More...
|
|
void | setPreviousInZ (const TRT_EndcapElement *element) |
| Set Previous in Z. More...
|
|
const TRT_EndcapCode & | getCode () const |
| Doomed (??) More...
|
|
virtual const Trk::SurfaceBounds & | strawBounds () const override final |
| the straw bounds More...
|
|
virtual Identifier | identify () const override final |
| identifier of this detector element: More...
|
|
virtual IdentifierHash | identifyHash () const override final |
| identifier hash More...
|
|
const GeoTrf::Transform3D & | defTransform () const |
| Get Default Transform (of module in barrel, layer in endcap) from GeoModel before alignment corrections. More...
|
|
const HepGeom::Transform3D | getAbsoluteTransform (int straw) const |
| This is an alias to strawTransform(int straw) More...
|
|
virtual const Trk::Surface & | surface () const override final |
| Element Surface: access to the Surface (straw layer) More...
|
|
virtual const Trk::Surface & | surface (const Identifier &id) const override final |
| Straw Surface: access to the surface via identifier. More...
|
|
virtual const Trk::SurfaceBounds & | bounds () const override final |
| Straw layer bounds. More...
|
|
virtual const Trk::SurfaceBounds & | bounds (const Identifier &id) const override final |
| Straw Surface: access to the bounds via Identifier. More...
|
|
virtual const Amg::Transform3D & | transform () const override final |
| Element Surface: Get Transform of element in Tracking frame: Amg. More...
|
|
virtual const Amg::Transform3D & | transform (const Identifier &id) const override final |
| Straw Surface: access to the transform of individual straw in Tracking frame: Amg. More...
|
|
virtual const Amg::Vector3D & | center () const override final |
| Element Surface: center of a straw layer. More...
|
|
virtual const Amg::Vector3D & | center (const Identifier &id) const override final |
| Straw Surface: Center of a straw using Identifier Straw center and straw axis can be obtained by the following: (The straw center is the center of the active region) Amg::Transform3D& transform = element->strawTransform(straw); Amb::Vector3D& center = element->strawCenter(); double r = element->strawCenter()->perp(); double phi = element->strawCenter()->phi(); Amg::Vector3D strawAxis = element->strawTransform(straw)* Vector3D(0,0,1) * strawDirection() More...
|
|
virtual const Amg::Vector3D & | normal () const override final |
| Element Surface: normal of a straw layer. More...
|
|
virtual const Amg::Vector3D & | normal (const Identifier &id) const override final |
| Normal of a straw. More...
|
|
virtual Trk::DetectorElemType | detectorType () const override final |
| TrkDetElementBase interface detectorTyoe. More...
|
|
const std::vector< const Trk::Surface * > & | surfaces () const |
| Returns the full list of all detection surfaces associated to this detector element. More...
|
|
const Amg::Transform3D & | strawTransform (unsigned int straw) const |
| Straw transform - fast access in array, in Tracking frame: Amg. More...
|
|
const Amg::Transform3D & | strawTransform (int straw) const |
| Straw Surface: Local -> global transform of the straw via integer. More...
|
|
const Trk::StraightLineSurface & | strawSurface (int straw) const |
| Straw Surface: access to the surface via integer. More...
|
|
const Amg::Vector3D & | strawCenter (int straw) const |
| Straw Surface: Local -> global transform of the straw via integer. More...
|
|
Amg::Vector3D | strawAxis (int straw) const |
| Straw axis. More...
|
|
unsigned int | nStraws () const |
| Number of straws in the element. More...
|
|
void | invalidate () |
| Invalidate cache. More...
|
|
void | updateAllCaches () |
| Update all caches. More...
|
|
const TRT_Conditions * | conditions () const |
| Return the TRT_Conditions object associated to this Detector element. More...
|
|
void | invalidateOther () const |
| invalidate action on the cache More...
|
|
std::string | detectorTypeString () const |
| Returns a string of the Detector element type. More...
|
|
Extended class of a TRT_BaseElement to describe a readout elment in the endcap. It secifies the strawTransfrom methods by getting the information from GeoModel
The readout element in the EC is a wheel with straws radially placed on it.
The number of straws described by this readout element can be retrieved by nStraws()
- Author
- : Grant Gorfine
- modified & maintained: Nick Styles, Andreas Salzburger
Definition at line 44 of file TRT_EndcapElement.h.
◆ Type
◆ TRT_EndcapElement() [1/2]
◆ TRT_EndcapElement() [2/2]
◆ ~TRT_EndcapElement()
InDetDD::TRT_EndcapElement::~TRT_EndcapElement |
( |
| ) |
|
|
virtualdefault |
◆ bounds() [1/2]
|
finaloverridevirtualinherited |
◆ bounds() [2/2]
|
finaloverridevirtualinherited |
◆ calculateLocalStrawTransform()
HepGeom::Transform3D InDetDD::TRT_EndcapElement::calculateLocalStrawTransform |
( |
int |
straw | ) |
const |
|
private |
Definition at line 144 of file TRT_EndcapElement.cxx.
167 double dx1 = container->
getDx1(
id);
168 double dx2 = container->
getDx2(
id);
170 double dy = -1 * (dx2 + dx1) / 2.;
179 rc = HepGeom::TranslateY3D(
dy) * HepGeom::RotateX3D(ang);
◆ calculateStrawTransform()
HepGeom::Transform3D InDetDD::TRT_EndcapElement::calculateStrawTransform |
( |
int |
straw | ) |
const |
|
overrideprivatevirtual |
These transforms are effectively to the local coord system of a straw derived from GeoModel -> hence CLHEP.
Implements InDetDD::TRT_BaseElement.
Definition at line 100 of file TRT_EndcapElement.cxx.
116 ((*
f)(istraw + offsetInto))) *
124 std::cout <<
"ALTERNATIVE METHOD" << std::endl;
128 CLHEP::Hep3Vector
pos(
132 HepGeom::Point3D<double>())
134 CLHEP::HepRotation rot;
136 rot.rotateY(-0.5 *
M_PI);
◆ center() [1/2]
|
finaloverridevirtualinherited |
◆ center() [2/2]
|
finaloverridevirtualinherited |
◆ conditions()
◆ createSurfaceCache() [1/2]
void InDetDD::TRT_EndcapElement::createSurfaceCache |
( |
| ) |
const |
|
overrideprivatevirtual |
◆ createSurfaceCache() [2/2]
void InDetDD::TRT_EndcapElement::createSurfaceCache |
( |
Identifier |
id | ) |
const |
|
private |
create the cache for the straw of identifier id
◆ createSurfaceCacheHelper()
SurfaceCache InDetDD::TRT_EndcapElement::createSurfaceCacheHelper |
( |
| ) |
const |
|
private |
Definition at line 211 of file TRT_EndcapElement.cxx.
239 GeoTrf::RotateZ3D(phiCenter)))
241 GeoTrf::RotateY3D(180 *
CLHEP::
deg) *
242 GeoTrf::RotateZ3D(phiCenter)));
246 auto bounds = std::make_unique<Trk::DiscBounds>(rMin, rMax, phiHalfWidth);
◆ defTransform()
const GeoTrf::Transform3D& InDetDD::TRT_BaseElement::defTransform |
( |
| ) |
const |
|
inherited |
Get Default Transform (of module in barrel, layer in endcap) from GeoModel before alignment corrections.
◆ deleteCache()
void InDetDD::TRT_BaseElement::deleteCache |
( |
| ) |
|
|
privateinherited |
◆ detectorType()
|
finaloverridevirtualinherited |
◆ detectorTypeString()
std::string Trk::TrkDetElementBase::detectorTypeString |
( |
| ) |
const |
|
inherited |
◆ elementSurface()
◆ getAbsoluteTransform()
const HepGeom::Transform3D InDetDD::TRT_BaseElement::getAbsoluteTransform |
( |
int |
straw | ) |
const |
|
inherited |
◆ getCode()
◆ getConditionsData()
const TRT_EndcapConditions * InDetDD::TRT_EndcapElement::getConditionsData |
( |
| ) |
|
|
static |
Returns a pointer to conditions data.
This includes information on dead and noisy wires, as well as wire sags.
Definition at line 76 of file TRT_EndcapElement.cxx.
◆ getDescriptor()
Returns a pointer to a descriptor, giving common information on module construction.
Definition at line 82 of file TRT_EndcapElement.cxx.
◆ identify()
virtual Identifier InDetDD::TRT_BaseElement::identify |
( |
| ) |
const |
|
finaloverridevirtualinherited |
◆ identifyHash()
virtual IdentifierHash InDetDD::TRT_BaseElement::identifyHash |
( |
| ) |
const |
|
finaloverridevirtualinherited |
◆ invalidate()
void InDetDD::TRT_BaseElement::invalidate |
( |
| ) |
|
|
inherited |
◆ invalidateOther()
void InDetDD::TRT_BaseElement::invalidateOther |
( |
| ) |
const |
|
inlineinherited |
◆ nextInZ()
◆ normal() [1/2]
|
finaloverridevirtualinherited |
◆ normal() [2/2]
|
finaloverridevirtualinherited |
◆ nStraws()
unsigned int InDetDD::TRT_BaseElement::nStraws |
( |
| ) |
const |
|
inherited |
Number of straws in the element.
◆ operator=()
◆ previousInZ()
◆ setNextInZ()
◆ setPreviousInZ()
◆ strawAxis()
Amg::Vector3D InDetDD::TRT_BaseElement::strawAxis |
( |
int |
straw | ) |
const |
|
inherited |
Straw axis.
Always in direction of increasing eta. +ve z direction in barrel (for both +ve and -ve half) Away from beam pipe in -ve z endcap, Towards beam pipe in +ve endcap.
Definition at line 154 of file TRT_BaseElement.cxx.
◆ strawBounds()
◆ strawCenter()
◆ strawDirection()
int InDetDD::TRT_EndcapElement::strawDirection |
( |
| ) |
const |
|
finaloverridevirtual |
◆ strawLength()
const double & InDetDD::TRT_EndcapElement::strawLength |
( |
| ) |
const |
|
overridevirtual |
◆ strawSurface()
◆ strawTransform() [1/2]
◆ strawTransform() [2/2]
◆ surface() [1/2]
|
finaloverridevirtualinherited |
◆ surface() [2/2]
|
finaloverridevirtualinherited |
◆ surfaces()
Returns the full list of all detection surfaces associated to this detector element.
Definition at line 58 of file TRT_BaseElement.cxx.
61 std::vector<const Trk::Surface*> tmp_surfaces;
62 tmp_surfaces.reserve(
nStraws());
63 for (
unsigned is = 0; is <
nStraws(); ++is) {
◆ transform() [1/2]
|
finaloverridevirtualinherited |
◆ transform() [2/2]
|
finaloverridevirtualinherited |
◆ type()
◆ updateAllCaches()
void InDetDD::TRT_BaseElement::updateAllCaches |
( |
| ) |
|
|
inherited |
◆ m_code
◆ m_conditions
◆ m_descriptor
◆ m_id
◆ m_idHash
◆ m_idHelper
const TRT_ID* InDetDD::TRT_BaseElement::m_idHelper =nullptr |
|
protectedinherited |
◆ m_nextInZ
◆ m_nstraws
unsigned int InDetDD::TRT_BaseElement::m_nstraws = 0 |
|
protectedinherited |
◆ m_previousInZ
◆ m_strawSurfaces
◆ m_strawSurfacesCache
◆ m_surface
◆ m_surfaceCache
◆ m_surfaces
The documentation for this class was generated from the following files:
unsigned int getStrawLayerIndex() const
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
virtual int strawDirection() const =0
StrawDirection.
const T * ptr() const
Return a pointer to the cached value.
double & innerRadius()
The inner radius:
void deleteCache()
Helper method for cache dealing.
bool isValid() const
Test to see if the value is valid.
unsigned int nStraws() const
Number of straws in the element.
const TRT_EndcapDescriptor * m_descriptor
const Trk::SurfaceBounds & strawBounds() const
Get Bounds.
TRT_BaseElement(const GeoVFullPhysVol *volume, const Identifier &id, const TRT_ID *idHelper, const TRT_Conditions *conditions)
Constructor:
unsigned int & nStraws()
The number of straws in a module:
virtual DetectorElemType detectorType() const =0
Return the Detector element type.
std::vector< CxxUtils::CachedUniquePtr< Trk::StraightLineSurface > > m_strawSurfaces
unsigned int getWheelIndex() const
const GeoXF::Function * getStrawTransform() const
Get the tranformation field, which we do not own:
int straw(const Identifier &id) const
CxxUtils::CachedValue< SurfaceCache > m_surfaceCache
virtual void createSurfaceCache() const =0
create the surface cache of the detector element, to be implementd in the deried class
const TRT_EndcapCode & getCode() const
Doomed (??)
Eigen::Affine3d Transform3D
const TRT_ID * m_idHelper
const TRT_Conditions * conditions() const
Return the TRT_Conditions object associated to this Detector element.
const HepGeom::Transform3D getAbsoluteTransform(int straw) const
This is an alias to strawTransform(int straw)
virtual Identifier identify() const override final
identifier of this detector element:
virtual const Trk::Surface & elementSurface() const override
return the surface of the element
unsigned int isPosZ() const
const TRT_EndcapElement * m_nextInZ
CxxUtils::CachedValue< std::vector< const Trk::Surface * > > m_surfaces
double & startPhi()
The starting phi (angular!!)
size_t getStrawTransformOffset() const
Get the offset into the transformation field:
Definition of ATLAS Math & Geometry primitives (Amg)
std::vector< CxxUtils::CachedUniquePtr< SurfaceCacheBase > > m_strawSurfacesCache
helper element surface for the cache
void invalidateOther() const
invalidate action on the cache
void set(const T &val) const
Set the value, assuming it is currently invalid.
float getDx1(const ExpandedIdentifier &id) const
access to unpacked dx
Eigen::Matrix< double, 3, 1 > Vector3D
virtual const Trk::SurfaceBounds & bounds() const override final
Straw layer bounds.
unsigned int getPhiIndex() const
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
virtual const double & strawLength() const override
Active straw length.
double & strawPitch()
The straw pitch (angular!!)
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
HepGeom::Transform3D calculateLocalStrawTransform(int straw) const
const TRTCond::StrawDxContainer * dxContainer() const
virtual const Amg::Vector3D & center() const override final
Element Surface: center of a straw layer.
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
const Trk::StraightLineSurface & strawSurface(int straw) const
Straw Surface: access to the surface via integer.
virtual const Trk::SurfaceBounds & strawBounds() const =0
the straw bounds
virtual const Amg::Vector3D & normal() const override final
Element Surface: normal of a straw layer.
Identifier for TRT detector elements in the conditions code.
const TRT_EndcapElement * m_previousInZ
float getDx2(const ExpandedIdentifier &id) const
CxxUtils::CachedUniquePtr< Trk::Surface > m_surface
SurfaceCache createSurfaceCacheHelper() const
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
virtual const Amg::Transform3D & transform() const override final
Element Surface: Get Transform of element in Tracking frame: Amg.