ATLAS Offline Software
Loading...
Searching...
No Matches
MuonGMR4::CylinderBoundsExpander Class Referencefinal

Auxiliary class to construct cylinder volume bounds from subvolumes the ranges of the bounds are expanded using the vertices of the subvolume. More...

#include <CylinderBoundsExpander.h>

Inheritance diagram for MuonGMR4::CylinderBoundsExpander:
Collaboration diagram for MuonGMR4::CylinderBoundsExpander:

Public Types

using VolumeAligner_t = std::function<Acts::Transform3(const Acts::GeometryContext& tgContext)>
 Abrivation of the transform getter.

Public Member Functions

 CylinderBoundsExpander (std::unique_ptr< const Acts::Logger > loggerObj=nullptr)
 Constructor with an optional logger instance.
virtual void expand (const Acts::GeometryContext &tgContext, const Acts::Volume &volume) override
 Expand the bounds from a chamber.
virtual std::shared_ptr< Acts::VolumeBounds > makeBounds (Acts::VolumeBoundFactory &factory) override final
 Crate volume bounds that enclose the readout element from the central localToGlobalTransform.
void setMargin (const double extraR, const double extraZ)
 Assign an extra margin to the constructed bounds.
double rMin () const
 Minimum seen radius.
double & rMin ()
 Minimum seen radius (non-const).
double rMax () const
 Maximum seen radius.
double & rMax ()
 Maximum seen radius (non-const).
double zMin () const
 Minimum seen longitudinal displacement.
double & zMin ()
 Minimum seen longitudinal displacement (non-const).
double zMax () const
 Maximum seen longitudinal displacement.
double & zMax ()
 Maximum seen longitudinal displacement (non-const).
void expand (const Acts::GeometryContext &tgContext, const MuonGMR4::Chamber &chamber)
 Use the expand overloads w.r.t.
void expand (const Acts::GeometryContext &tgContext, const MuonGMR4::SpectrometerSector &sector)
 Use the expand overloads w.r.t.
void expand (const Acts::GeometryContext &tgContext, const MuonGMR4::MuonReadoutElement &readoutElement, Acts::VolumeBoundFactory &boundFactory)
 Use the expand overloads w.r.t.
std::unique_ptr< Acts::TrackingVolume > makeEnvelope (Acts::VolumeBoundFactory &factory, std::string_view volName)
 Creates an empty tracking volume.
Acts::Transform3 toVertexCenter () const
 Returns the transform from the ATLAS frame to the center of all seen vertices.
const Acts::Transform3 & boxMidPoint () const
 Returns the transform from the nominal volume center to the middle point to all seen vertices.
void reCenter (std::span< const Amg::Vector3D > vertices)
 Update the center point from a list of global vertices.
std::span< const double > minima () const
 Returns the triplet of the minimum coordinates from the ensemble of all seen vertices.
std::span< const double > maxima () const
 Returns the triplet of the maximum coordinates from the ensemble of all seen vertices.
const Acts::Logger & logger () const
 Returns the ACTS logegr object.

Static Public Member Functions

static std::shared_ptr< Acts::VolumeBounds > makeBounds (const MuonGMR4::MuonReadoutElement &readoutElement, Acts::VolumeBoundFactory &boundFactory)
 Use the makeBounds overload for the readout element.
static std::vector< Amg::Vector3D > cornerPoints (const Acts::GeometryContext &tgContext, const Acts::Volume &volume, const std::size_t nSegments=3)
 Returns the vertices from a volume.
static std::vector< Amg::Vector3D > cornerPoints (const Acts::GeometryContext &tgContext, const Acts::Surface &surface, const std::size_t nSegments=3)
 Returns the vertices from a surface.

Private Attributes

double m_rMin {2.*Acts::UnitConstants::km}
 Minimum r of any shown vertex.
double m_rMax {-2.*Acts::UnitConstants::km}
 Maximum r of any shown vertex.
double m_zMin {m_rMin}
 Minimum z of any shown vertex.
double m_zMax {m_rMax}
 Maximum z of any shown vertex.
double m_extraR {0.1}
 Extra margin to be applied in R.
double m_extraZ {0.1}
 Extra margin to be applied in z.
std::unique_ptr< const Acts::Logger > m_logger
Acts::Transform3 m_toVolume {Acts::Transform3::Identity()}
 External method to go from ATLAS to the reference frame.
Acts::Transform3 m_shiftTrf {Acts::Transform3::Identity()}
 Extra shift to center all the vertices.
std::array< double, 3 > m_locMax {Acts::filledArray<double, 3>(-2.*Acts::UnitConstants::km)}
 Maximum value seen by the recenter method.
std::array< double, 3 > m_locMin {Acts::filledArray<double, 3>(2.*Acts::UnitConstants::km)}
 Minimum value seen by the recenter method.

Detailed Description

Auxiliary class to construct cylinder volume bounds from subvolumes the ranges of the bounds are expanded using the vertices of the subvolume.

Definition at line 13 of file CylinderBoundsExpander.h.

Member Typedef Documentation

◆ VolumeAligner_t

using MuonGMR4::BoundsExpander::VolumeAligner_t = std::function<Acts::Transform3(const Acts::GeometryContext& tgContext)>
inherited

Abrivation of the transform getter.

Definition at line 62 of file BoundsExpander.h.

Constructor & Destructor Documentation

◆ CylinderBoundsExpander()

MuonGMR4::CylinderBoundsExpander::CylinderBoundsExpander ( std::unique_ptr< const Acts::Logger > loggerObj = nullptr)
explicit

Constructor with an optional logger instance.

Definition at line 11 of file CylinderBoundsExpander.cxx.

11 :
12 BoundsExpander{Acts::Transform3::Identity(), std::move(loggerObj)} {}
BoundsExpander()=default
Default constructor.

Member Function Documentation

◆ boxMidPoint()

const Acts::Transform3 & MuonGMR4::BoundsExpander::boxMidPoint ( ) const
inherited

Returns the transform from the nominal volume center to the middle point to all seen vertices.

Definition at line 42 of file BoundsExpander.cxx.

42 {
43 return m_shiftTrf;
44 }
Acts::Transform3 m_shiftTrf
Extra shift to center all the vertices.

◆ cornerPoints() [1/2]

std::vector< Amg::Vector3D > MuonGMR4::BoundsExpander::cornerPoints ( const Acts::GeometryContext & tgContext,
const Acts::Surface & surface,
const std::size_t nSegments = 3 )
staticinherited

Returns the vertices from a surface.

Parameters
tgContextThe geometry context to align the surface
volumeThe surface from which the vertices shall be retrieved
nSegmentsNumber of segments to be generated

Don't use the polyhedron representation for rectangles and trapezoids as we need the central point on the edge to properly constrain the radius of a surrounding cylinder

Definition at line 131 of file BoundsExpander.cxx.

133 {
134 constexpr std::array signs{-1., 1.};
135 std::vector<Amg::Vector3D> vertices{}; //vertices has size zero
136 //calculate transform once, outside of loops
137 const Acts::Transform3& transform = surface.localToGlobalTransform(tgContext);
141 switch (surface.bounds().type()) {
142 using enum Acts::SurfaceBounds::BoundsType;
143 case eRectangle: {
144 const auto& bounds{static_cast<const Acts::RectangleBounds&>(surface.bounds())};
145 using enum Acts::RectangleBounds::BoundValues;
146 const double stepX = 2.*bounds.get(eMaxX) / nSegments;
147 const double stepY = 2.*bounds.get(eMaxY) / nSegments;
148 for (const double sign : signs) {
149 for (unsigned seg = 0; seg <= nSegments ; ++seg) {
150 vertices.push_back(transform *
151 Amg::Vector3D{-bounds.get(eMaxX) + stepX * seg,
152 sign*bounds.get(eMaxY), 0.});
153 vertices.push_back(transform *
154 Amg::Vector3D{sign*bounds.get(eMaxX),
155 -bounds.get(eMaxY) + stepY * seg, 0.});
156 }
157 }
158 break;
159 } case eTrapezoid: {
160 const auto& bounds{static_cast<const Acts::TrapezoidBounds&>(surface.bounds())};
161 using enum Acts::TrapezoidBounds::BoundValues;
162 const double hY = bounds.get(eHalfLengthY);
163 const double xS = bounds.get(eHalfLengthXnegY);
164 const double xL = bounds.get(eHalfLengthXposY);
165 const double m = (xL - xS) / (2.*hY);
166 Amg::Vector3D locPos{Amg::Vector3D::Zero()};
167 auto pushVertex = [&](const double x, const double y) {
168 locPos.block<2,1>(0,0) = Eigen::Rotation2D{-bounds.get(eRotationAngle)} *
170 vertices.push_back(transform *locPos);
171 };
172 const double stepY = 2.*hY / nSegments;
173 for (const double sign : signs) {
174 const double x = (sign > 0 ? xL : xS);
175 const double stepX = 2.*x / nSegments;
176 for (unsigned seg = 0; seg <= nSegments ; ++seg){
177 pushVertex(-x + stepX*seg, sign*hY);
178 const double y = -hY + stepY*seg;
179 pushVertex(sign*(xS + (y+hY)*m), y);
180 }
181 }
182 break;
183 } default: {
184 vertices = surface.polyhedronRepresentation(tgContext, nSegments).vertices;
185 break;
186 }
187 }
188 return vertices;
189 }
int sign(int a)
#define y
#define x
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D

◆ cornerPoints() [2/2]

std::vector< Amg::Vector3D > MuonGMR4::BoundsExpander::cornerPoints ( const Acts::GeometryContext & tgContext,
const Acts::Volume & volume,
const std::size_t nSegments = 3 )
staticinherited

Returns the vertices from a volume.

Parameters
tgContextThe geometry context to align the volume
volumeThe volume from which the vertices shall be retrieved
nSegmentsNumber of segments to be generated

Definition at line 114 of file BoundsExpander.cxx.

116 {
117 std::vector<Amg::Vector3D> edges{};
118 const Acts::VolumeBounds& bounds{volume.volumeBounds()};
119 const Acts::Transform3& trf{volume.localToGlobalTransform(tgContext)};
120 for (const Acts::OrientedSurface& boundary : bounds.orientedSurfaces(trf)) {
121 std::vector<Amg::Vector3D> corners = cornerPoints(tgContext, *boundary.surface, nSegments);
122 edges.insert(edges.end(), std::make_move_iterator(corners.begin()),
123 std::make_move_iterator(corners.end()));
124 }
125 auto [begin, end] = std::ranges::unique(edges, [](const Amg::Vector3D& a, const Amg::Vector3D& b) {
126 return (a - b).mag2() < Acts::s_onSurfaceTolerance;
127 });
128 edges.erase(begin, end);
129 return edges;
130 }
static Double_t a
static std::vector< Amg::Vector3D > cornerPoints(const Acts::GeometryContext &tgContext, const Acts::Volume &volume, const std::size_t nSegments=3)
Returns the vertices from a volume.

◆ expand() [1/4]

void MuonGMR4::CylinderBoundsExpander::expand ( const Acts::GeometryContext & tgContext,
const Acts::Volume & volume )
overridevirtual

Expand the bounds from a chamber.

Parameters
tgContextThe goemetry contex to position the chamber in space
chamberReference to the chamber from which the vertices are extracted

Implements MuonGMR4::BoundsExpander.

Definition at line 17 of file CylinderBoundsExpander.cxx.

18 {
19
20 for(const Amg::Vector3D& vertex: cornerPoints(tgContext, volume)) {
21 const double r = vertex.perp();
22 m_rMax = std::max(m_rMax, r);
23 m_rMin = std::min(m_rMin, r);
24 m_zMax = std::max(m_zMax, vertex.z());
25 m_zMin = std::min(m_zMin, vertex.z());
26 }
27 ACTS_VERBOSE(__func__<<"() "<<__LINE__<<" New boundaries are: ["<<m_rMin<<";"<<m_rMax<<"]"
28 <<", z: ["<<m_zMax<<";"<<m_zMin<<"]");
29 }
double m_rMin
Minimum r of any shown vertex.
double m_zMin
Minimum z of any shown vertex.
double m_rMax
Maximum r of any shown vertex.
double m_zMax
Maximum z of any shown vertex.
int r
Definition globals.cxx:22

◆ expand() [2/4]

void MuonGMR4::BoundsExpander::expand ( const Acts::GeometryContext & tgContext,
const MuonGMR4::Chamber & chamber )

Use the expand overloads w.r.t.

chamber, sector

Definition at line 74 of file BoundsExpander.cxx.

33 {
34 expand(tgContext, *chamber.boundingVolume());
35 }
virtual void expand(const Acts::GeometryContext &tgContext, const Acts::Volume &volume) override
Expand the bounds from a chamber.

◆ expand() [3/4]

void MuonGMR4::BoundsExpander::expand ( const Acts::GeometryContext & tgContext,
const MuonGMR4::MuonReadoutElement & readoutElement,
Acts::VolumeBoundFactory & boundFactory )

Use the expand overloads w.r.t.

chamber, sector

Definition at line 86 of file BoundsExpander.cxx.

83 {
84 expand(tgContext, Acts::Volume{readoutElement.localToGlobalTransform(tgContext),
85 makeBounds(readoutElement, boundFactory)});
86 }
virtual std::shared_ptr< Acts::VolumeBounds > makeBounds(Acts::VolumeBoundFactory &factory) override final
Crate volume bounds that enclose the readout element from the central localToGlobalTransform.
const Acts::Transform3 & localToGlobalTransform(const ActsTrk::GeometryContext &ctx) const override final
Returns the transformation from the local coordinate system of the readout element into the global AT...

◆ expand() [4/4]

void MuonGMR4::BoundsExpander::expand ( const Acts::GeometryContext & tgContext,
const MuonGMR4::SpectrometerSector & sector )

Use the expand overloads w.r.t.

chamber, sector

Definition at line 79 of file BoundsExpander.cxx.

39 {
40 expand(tgContext, *sector.boundingVolume());
41 }
std::shared_ptr< Acts::Volume > boundingVolume() const
Returns the Acts::Volume representation of the sector.

◆ logger()

const Acts::Logger & MuonGMR4::BoundsExpander::logger ( ) const
inherited

Returns the ACTS logegr object.

Definition at line 36 of file BoundsExpander.cxx.

36{ return *m_logger; }
std::unique_ptr< const Acts::Logger > m_logger

◆ makeBounds() [1/2]

std::shared_ptr< Acts::VolumeBounds > MuonGMR4::CylinderBoundsExpander::makeBounds ( Acts::VolumeBoundFactory & factory)
finaloverridevirtual

Crate volume bounds that enclose the readout element from the central localToGlobalTransform.

Parameters
readoutElementThe readout element of interest
boundFactoryThe factory used to create the bounds

Implements MuonGMR4::BoundsExpander.

Definition at line 31 of file CylinderBoundsExpander.cxx.

31 {
32 reCenter(std::array{Amg::Vector3D{0.,0., m_zMax},
33 Amg::Vector3D{0.,0., m_zMin}});
34 auto bounds = factory.makeBounds<Acts::CylinderVolumeBounds>(std::max(m_rMin - m_extraR, 0.),
36 0.5*(m_zMax - m_zMin) + m_extraZ);
37 ACTS_DEBUG(__func__<<"() "<<__LINE__<<" - created new bounds "<<(bounds));
38 return bounds;
39 }
void reCenter(std::span< const Amg::Vector3D > vertices)
Update the center point from a list of global vertices.
double m_extraZ
Extra margin to be applied in z.
double m_extraR
Extra margin to be applied in R.

◆ makeBounds() [2/2]

std::shared_ptr< Acts::VolumeBounds > MuonGMR4::BoundsExpander::makeBounds ( const MuonGMR4::MuonReadoutElement & readoutElement,
Acts::VolumeBoundFactory & boundFactory )
static

Use the makeBounds overload for the readout element.

Definition at line 59 of file BoundsExpander.cxx.

47 {
48 switch(readoutElement.detectorType()) {
50 const auto& techEle = static_cast<const MdtReadoutElement&>(readoutElement);
51 const auto& pars = techEle.getParameters();
52 if (std::abs(pars.shortHalfX - pars.longHalfX) < Acts::s_epsilon) {
53 return boundFactory.makeBounds<Acts::CuboidVolumeBounds>(pars.shortHalfX, pars.halfY, pars.halfHeight);
54 }
55 return boundFactory.makeBounds<Acts::TrapezoidVolumeBounds>(pars.shortHalfX, pars.longHalfX,
56 pars.halfY, pars.halfHeight);
58 const auto& techEle = static_cast<const RpcReadoutElement&>(readoutElement);
59 const auto& pars = techEle.getParameters();
60 return boundFactory.makeBounds<Acts::CuboidVolumeBounds>(pars.halfWidth, pars.halfLength, pars.halfThickness);
62 const auto& techEle = static_cast<const TgcReadoutElement&>(readoutElement);
63 const auto& pars = techEle.getParameters();
64 return boundFactory.makeBounds<Acts::TrapezoidVolumeBounds>(pars.halfWidthShort, pars.halfWidthLong,
65 pars.halfHeight, pars.halfThickness );
67 const auto& techEle = static_cast<const sTgcReadoutElement&>(readoutElement);
68 const auto& pars = techEle.getParameters();
69 return boundFactory.makeBounds<Acts::TrapezoidVolumeBounds>(pars.sHalfChamberLength, pars.lHalfChamberLength,
70 pars.halfChamberHeight, pars.halfChamberTck );
72 const auto& techEle = static_cast<const MmReadoutElement&>(readoutElement);
73 const auto& pars = techEle.getParameters();
74 return boundFactory.makeBounds<Acts::TrapezoidVolumeBounds>(pars.halfShortWidth, pars.halfLongWidth,
75 pars.halfHeight, pars.halfThickness );
76 } default:
77 THROW_EXCEPTION("Unsupported detector type "<<readoutElement.detectorType());
78 }
79 return nullptr;
80 }
virtual DetectorType detectorType() const =0
Returns the detector element type.
@ Mm
Maybe not needed in the migration.
@ Tgc
Resitive Plate Chambers.
@ sTgc
Micromegas (NSW).
@ Rpc
Monitored Drift Tubes.
@ Mdt
MuonSpectrometer.
#define THROW_EXCEPTION(MESSAGE)
Definition throwExcept.h:10

◆ makeEnvelope()

std::unique_ptr< Acts::TrackingVolume > MuonGMR4::BoundsExpander::makeEnvelope ( Acts::VolumeBoundFactory & factory,
std::string_view volName )
inherited

Creates an empty tracking volume.

The volume will be positioned at the vertex center

Parameters
factoryThe bound factory to create the bounds
volNameThe name of the tracking volume

Definition at line 190 of file BoundsExpander.cxx.

191 {
192 auto volume = std::make_unique<Acts::TrackingVolume>(toVertexCenter().inverse(),
193 makeBounds(factory), std::string{volName});
194 ACTS_DEBUG(__func__<<"() "<<__LINE__<<" - Created new volume envelope "
195 <<volName<<" located at @"<<Amg::toString(toVertexCenter().inverse())
196 <<" with bounds: "<<volume->volumeBounds());
197 return volume;
198 }
Acts::Transform3 toVertexCenter() const
Returns the transform from the ATLAS frame to the center of all seen vertices.
static std::shared_ptr< Acts::VolumeBounds > makeBounds(const MuonGMR4::MuonReadoutElement &readoutElement, Acts::VolumeBoundFactory &boundFactory)
Crate volume bounds that enclose the readout element from the central localToGlobalTransform.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ maxima()

std::span< const double > MuonGMR4::BoundsExpander::maxima ( ) const
inherited

Returns the triplet of the maximum coordinates from the ensemble of all seen vertices.

Definition at line 111 of file BoundsExpander.cxx.

111 {
112 return m_locMax;
113 }
std::array< double, 3 > m_locMax
Maximum value seen by the recenter method.

◆ minima()

std::span< const double > MuonGMR4::BoundsExpander::minima ( ) const
inherited

Returns the triplet of the minimum coordinates from the ensemble of all seen vertices.

Definition at line 108 of file BoundsExpander.cxx.

108 {
109 return m_locMin;
110 }
std::array< double, 3 > m_locMin
Minimum value seen by the recenter method.

◆ reCenter()

void MuonGMR4::BoundsExpander::reCenter ( std::span< const Amg::Vector3D > vertices)
inherited

Update the center point from a list of global vertices.

Parameters
verticesList of vertices expressed in th ATLAS frame

Definition at line 91 of file BoundsExpander.cxx.

91 {
92 ACTS_VERBOSE(__func__<<"() "<<__LINE__<<" - User defined center system: "
94 for (const Amg::Vector3D& vert : vertices) {
95 const Amg::Vector3D locVert = m_toVolume* vert;
96 for (std::size_t k = 0; k < m_locMax.size(); ++k) {
97 m_locMax[k] = std::max(m_locMax[k], locVert[k]);
98 m_locMin[k] = std::min(m_locMin[k], locVert[k]);
99 }
100 }
101 Amg::Vector3D shiftVec{Amg::Vector3D::Zero()};
102 for (std::size_t k =0 ; k < m_locMax.size(); ++k) {
103 shiftVec[k] = 0.5*(m_locMax[k] + m_locMin[k]);
104 }
106 ACTS_VERBOSE(__func__<<"() "<<__LINE__<<" - New transform: "<<Amg::toString(m_shiftTrf));
107 }
Acts::Transform3 m_toVolume
External method to go from ATLAS to the reference frame.
Amg::Isometry3D getTranslate3D(const double X, const double Y, const double Z)
: Returns a shift transformation along an arbitrary axis

◆ rMax() [1/2]

double & MuonGMR4::CylinderBoundsExpander::rMax ( )

Maximum seen radius (non-const).

Definition at line 43 of file CylinderBoundsExpander.cxx.

43{ return m_rMax; }

◆ rMax() [2/2]

double MuonGMR4::CylinderBoundsExpander::rMax ( ) const

Maximum seen radius.

Definition at line 42 of file CylinderBoundsExpander.cxx.

42{ return m_rMax; }

◆ rMin() [1/2]

double & MuonGMR4::CylinderBoundsExpander::rMin ( )

Minimum seen radius (non-const).

Definition at line 41 of file CylinderBoundsExpander.cxx.

41{ return m_rMin; }

◆ rMin() [2/2]

double MuonGMR4::CylinderBoundsExpander::rMin ( ) const

Minimum seen radius.

Definition at line 40 of file CylinderBoundsExpander.cxx.

40{ return m_rMin; }

◆ setMargin()

void MuonGMR4::CylinderBoundsExpander::setMargin ( const double extraR,
const double extraZ )

Assign an extra margin to the constructed bounds.

Parameters
extraRExtra margin in radial direction
extraZExtra margin in longitudinal direction

Definition at line 13 of file CylinderBoundsExpander.cxx.

13 {
14 m_extraR = extraR;
15 m_extraZ = extraZ;
16 }

◆ toVertexCenter()

Acts::Transform3 MuonGMR4::BoundsExpander::toVertexCenter ( ) const
inherited

Returns the transform from the ATLAS frame to the center of all seen vertices.

Definition at line 88 of file BoundsExpander.cxx.

88 {
89 return m_shiftTrf.inverse() * m_toVolume;
90 }

◆ zMax() [1/2]

double & MuonGMR4::CylinderBoundsExpander::zMax ( )

Maximum seen longitudinal displacement (non-const).

Definition at line 47 of file CylinderBoundsExpander.cxx.

47{ return m_zMax; }

◆ zMax() [2/2]

double MuonGMR4::CylinderBoundsExpander::zMax ( ) const

Maximum seen longitudinal displacement.

Definition at line 46 of file CylinderBoundsExpander.cxx.

46{ return m_zMax; }

◆ zMin() [1/2]

double & MuonGMR4::CylinderBoundsExpander::zMin ( )

Minimum seen longitudinal displacement (non-const).

Definition at line 45 of file CylinderBoundsExpander.cxx.

45{ return m_zMin; }

◆ zMin() [2/2]

double MuonGMR4::CylinderBoundsExpander::zMin ( ) const

Minimum seen longitudinal displacement.

Definition at line 44 of file CylinderBoundsExpander.cxx.

44{ return m_zMin; }

Member Data Documentation

◆ m_extraR

double MuonGMR4::CylinderBoundsExpander::m_extraR {0.1}
private

Extra margin to be applied in R.

Definition at line 57 of file CylinderBoundsExpander.h.

57{0.1};

◆ m_extraZ

double MuonGMR4::CylinderBoundsExpander::m_extraZ {0.1}
private

Extra margin to be applied in z.

Definition at line 59 of file CylinderBoundsExpander.h.

59{0.1};

◆ m_locMax

std::array<double, 3> MuonGMR4::BoundsExpander::m_locMax {Acts::filledArray<double, 3>(-2.*Acts::UnitConstants::km)}
privateinherited

Maximum value seen by the recenter method.

Definition at line 132 of file BoundsExpander.h.

132{Acts::filledArray<double, 3>(-2.*Acts::UnitConstants::km)};

◆ m_locMin

std::array<double, 3> MuonGMR4::BoundsExpander::m_locMin {Acts::filledArray<double, 3>(2.*Acts::UnitConstants::km)}
privateinherited

Minimum value seen by the recenter method.

Definition at line 134 of file BoundsExpander.h.

134{Acts::filledArray<double, 3>(2.*Acts::UnitConstants::km)};

◆ m_logger

std::unique_ptr<const Acts::Logger> MuonGMR4::BoundsExpander::m_logger
privateinherited
Initial value:
{Acts::getDefaultLogger("BoundsExpander",
Acts::Logging::Level::INFO)}

Definition at line 125 of file BoundsExpander.h.

125 {Acts::getDefaultLogger("BoundsExpander",
126 Acts::Logging::Level::INFO)};

◆ m_rMax

double MuonGMR4::CylinderBoundsExpander::m_rMax {-2.*Acts::UnitConstants::km}
private

Maximum r of any shown vertex.

Definition at line 51 of file CylinderBoundsExpander.h.

51{-2.*Acts::UnitConstants::km};

◆ m_rMin

double MuonGMR4::CylinderBoundsExpander::m_rMin {2.*Acts::UnitConstants::km}
private

Minimum r of any shown vertex.

Definition at line 49 of file CylinderBoundsExpander.h.

49{2.*Acts::UnitConstants::km};

◆ m_shiftTrf

Acts::Transform3 MuonGMR4::BoundsExpander::m_shiftTrf {Acts::Transform3::Identity()}
privateinherited

Extra shift to center all the vertices.

Definition at line 130 of file BoundsExpander.h.

130{Acts::Transform3::Identity()};

◆ m_toVolume

Acts::Transform3 MuonGMR4::BoundsExpander::m_toVolume {Acts::Transform3::Identity()}
privateinherited

External method to go from ATLAS to the reference frame.

Definition at line 128 of file BoundsExpander.h.

128{Acts::Transform3::Identity()};

◆ m_zMax

double MuonGMR4::CylinderBoundsExpander::m_zMax {m_rMax}
private

Maximum z of any shown vertex.

Definition at line 55 of file CylinderBoundsExpander.h.

55{m_rMax};

◆ m_zMin

double MuonGMR4::CylinderBoundsExpander::m_zMin {m_rMin}
private

Minimum z of any shown vertex.

Definition at line 53 of file CylinderBoundsExpander.h.

53{m_rMin};

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