ATLAS Offline Software
TrackingVolume.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrackingVolume.h, (b) ATLAS Detector software
8 
9 #ifndef TRKGEOMETRY_TRACKINGVOLUME_H
10 #define TRKGEOMETRY_TRACKINGVOLUME_H
11 
12 // Amg
14 // Trk
18 #include <memory>
23 #include "TrkGeometry/Material.h"
25 #include "TrkSurfaces/Surface.h"
30 #include "TrkVolumes/Volume.h"
31 // STL
32 #include <string>
33 #include <span>
34 // ATH_MSG macros
36 
39 #ifndef TRKGEOMETRY_MAXLAYERATTEMPTS
40 #define TRKGEOMETRY_MAXLAYERATTEMPTS 100
41 #endif
42 
43 class MsgStream;
44 
45 namespace Trk {
46 
47 // classes
48 class Layer;
49 class PlaneLayer;
50 class TrackingVolume;
51 class DetachedTrackingVolume;
52 class VolumeBounds;
53 
54 //Binned Array arrayObjects returns a span
57 
58 template<class T>
59 using ArraySpan = std::span<T>;
60 
61 //Helper for const correct access to boundary surfaces via a span
62 //We want const correct access to the underlying plain ptrs.
63 template<class T>
65 {
66 public:
67  ConstSharedPtrSpan(const std::vector<std::shared_ptr<T>>& var)
68  : m_span(var)
69  {
70  }
71  // access the ptr
72  const T * operator[](size_t i) const { return m_span[i].get(); }
73  constexpr bool empty() const noexcept { return m_span.empty(); }
74  constexpr size_t size() const noexcept { return m_span.size(); }
75 
76 private:
78 };
79 
80 
81 template<class T>
83 template<class T>
86 
117  : public Volume
118  , public Material
119 {
120 
123 
125  friend class TrackingGeometry;
126 
129 
130 public:
132  TrackingVolume() = default;
133 
136  TrackingVolume(std::unique_ptr<Amg::Transform3D> htrans,
137  std::shared_ptr<VolumeBounds> volbounds,
138  std::unique_ptr<LayerArray> subLayers = nullptr,
139  std::unique_ptr<TrackingVolumeArray> subVolumes = nullptr,
140  const std::string& volumeName = "undefined");
141 
144  TrackingVolume(const Volume& volume,
145  const Material& matprop,
146  std::unique_ptr<LayerArray> subLayers = nullptr,
147  std::unique_ptr<TrackingVolumeArray> subVolumes = nullptr,
148  const std::string& volumeName = "undefined");
149 
152  TrackingVolume(std::unique_ptr<Amg::Transform3D> htrans,
153  std::shared_ptr<VolumeBounds> volbounds,
154  const Material& matprop,
155  std::unique_ptr<LayerArray> subLayers = nullptr,
156  std::unique_ptr<TrackingVolumeArray> subVolumes = nullptr,
157  const std::string& volumeName = "undefined");
158 
162  std::unique_ptr<Amg::Transform3D> htrans,
163  std::shared_ptr<VolumeBounds> volbounds,
164  const Material& matprop,
165  std::unique_ptr<std::vector<DetachedTrackingVolume*>> detachedSubVolumes,
166  const std::string& volumeName = "undefined");
167 
171  const Volume& volume,
172  const Material& matprop,
173  std::unique_ptr<std::vector<DetachedTrackingVolume*>> detachedSubVolumes,
174  const std::string& volumeName = "undefined");
175 
178  TrackingVolume(std::unique_ptr<Amg::Transform3D> htrans,
179  std::shared_ptr<VolumeBounds> volbounds,
180  const Material& matprop,
181  std::unique_ptr<const std::vector<TrackingVolume*>> unorderedSubVolumes,
182  const std::string& volumeName = "undefined");
183 
186  TrackingVolume(const Volume& volume,
187  const Material& matprop,
188  std::unique_ptr<const std::vector<TrackingVolume*>> unorderedSubVolumes,
189  const std::string& volumeName = "undefined");
190 
193  TrackingVolume(std::unique_ptr<Amg::Transform3D> htrans,
194  std::shared_ptr<VolumeBounds> volbounds,
195  const Material& matprop,
196  std::unique_ptr<const std::vector<Layer*>> arbitraryLayers,
197  const std::string& volumeName = "undefined");
198 
201  TrackingVolume(const Volume& volume,
202  const Material& matprop,
203  std::unique_ptr<const std::vector<Layer*>> arbitraryLayers,
204  const std::string& volumeName = "undefined");
205 
209  TrackingVolume(std::unique_ptr<Amg::Transform3D> htrans,
210  std::shared_ptr<VolumeBounds> volbounds,
211  std::unique_ptr<const std::vector<Layer*>> arbitraryLayers,
212  std::unique_ptr<const std::vector<TrackingVolume*>> unorderedSubVolumes,
213  const Material& matprop,
214  const std::string& volumeName = "undefined");
215 
219  TrackingVolume(const Volume& volume,
220  std::unique_ptr<const std::vector<Layer*>> arbitraryLayers,
221  std::unique_ptr<const std::vector<TrackingVolume*>> unorderedSubVolumes,
222  const Material& matprop,
223  const std::string& volumeName = "undefined");
224 
227 
229  virtual ~TrackingVolume() override;
230 
232  const Layer* associatedLayer(const Amg::Vector3D& gp) const;
233  Layer* associatedLayer(const Amg::Vector3D& gp);
234 
235 
237  const Layer* nextLayer(const Amg::Vector3D& gp,
238  const Amg::Vector3D& mom,
239  bool asres = true,
240  bool skipNavLayer = false) const;
241 
244  const Layer* entryLayer(const Amg::Vector3D& gp,
245  const Amg::Vector3D& dir) const;
246 
248  const Layer* exitLayer(const Amg::Vector3D& gp,
249  const Amg::Vector3D& dir) const;
250 
254  template<class T>
255  std::vector<LayerIntersection<T>> materialLayersOrdered(
256  const Layer* sLayer,
257  const Layer* eLayer,
258  const T& parameters,
260  const BoundaryCheck& bchk = true,
261  bool resolveSubSurfaces = false) const;
262 
269  const Amg::Vector3D& gp,
270  const Amg::Vector3D& dir,
272  const BoundaryCheck& bchk = true) const;
273 
275  const TrackingVolume* associatedSubVolume(const Amg::Vector3D& gp) const;
277 
279  const TrackingVolume* nextVolume(const Amg::Vector3D& gp,
280  const Amg::Vector3D& dir,
281  PropDirection pDir = alongMomentum) const;
282 
285  const TrackingVolume* nextSubVolume(const Amg::Vector3D& gp,
286  const Amg::Vector3D& dir) const;
287 
289  std::vector<const DetachedTrackingVolume*> assocDetachedSubVolumes(
290  const Amg::Vector3D& gp,
291  double tol) const;
292 
294  unsigned int layerAttempts(BoundarySurfaceFace exitFace) const;
295 
297  unsigned int maxLayerAttempts() const;
298 
300  const LayerArray* confinedLayers() const;
301 
304 
307 
310 
312  const LayerArray* checkoutConfinedLayers() const;
313 
316 
319 
323 
327 
329  const std::string& volumeName() const;
330 
332  std::vector<std::shared_ptr<BoundarySurface<TrackingVolume>>>& boundarySurfaces() ;
336  template<class T>
337  std::vector<BoundaryIntersection<T>> boundarySurfacesOrdered(
338  const T& parameters,
340  bool startOffBoundary = false) const;
341 
344  const ObjectAccessor::value_type& oa) const;
345 
347  template<class T>
348  bool onVolumeBoundary(const T& pars) const;
349 
358 
361 
363  void sign(GeometrySignature signat, GeometryType gtype = Static);
364 
367 
370 
372  void registerColorCode(unsigned int icolor);
373 
375  unsigned int colorCode() const;
376 
379 
381  void setMotherVolume(const TrackingVolume* mvol);
382 
384  void moveVolume(Amg::Transform3D& shift);
385 
387  void addMaterial(const Material& mat, float fact = 1.);
388 
389  virtual bool isAlignable() const;
390 
391  void screenDump(MsgStream& msg) const;
392 
393 private:
396 
399 
401  void createBoundarySurfaces();
402 
405 
410  void compactify(size_t& rSurfaces, size_t& tSurfaces);
411 
416  void synchronizeLayers (MsgStream& msgstream, double envelope = 1.);
417 
419  void interlinkLayers ();
420 
422  static const Layer* closest(const Amg::Vector3D& pos,
423  const Amg::Vector3D& dir,
424  const Layer& first,
425  const Layer& second);
426 
429 
431  TrackingVolume(const TrackingVolume&) = delete;
434 
438  std::vector<std::shared_ptr<BoundarySurface<TrackingVolume>>> m_boundarySurfaces{nullptr};
440  std::unique_ptr<LayerArray> m_confinedLayers{nullptr};
442  std::unique_ptr<TrackingVolumeArray> m_confinedVolumes{nullptr};
444  std::unique_ptr<const std::vector<DetachedTrackingVolume*>> m_confinedDetachedVolumes{nullptr};
446  std::unique_ptr<const std::vector<TrackingVolume*>> m_confinedDenseVolumes{nullptr};
448  std::unique_ptr<const std::vector<Layer*>> m_confinedArbitraryLayers{nullptr};
452  std::unique_ptr<LayerAttemptsCalculator> m_layerAttemptsCalculator{nullptr};
457  std::string m_name {"undefined"};
458  unsigned int m_colorCode{20} ;
459 };
460 
461 } // end of namespace
463 #endif // TRKGEOMETRY_TRACKINGVOLUME_H
464 
Trk::TrackingVolumeManipulator
Definition: TrackingVolumeManipulator.h:32
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Trk::TrackingVolume::closest
static const Layer * closest(const Amg::Vector3D &pos, const Amg::Vector3D &dir, const Layer &first, const Layer &second)
Helper method - find closest of two layers.
Definition: TrackingVolume.cxx:1046
Trk::TrackingVolume::glueVolumesDescriptor
GlueVolumesDescriptor & glueVolumesDescriptor()
Definition: TrackingVolume.cxx:1016
beamspotnt.var
var
Definition: bin/beamspotnt.py:1393
Trk::TrackingVolume::m_confinedDetachedVolumes
std::unique_ptr< const std::vector< DetachedTrackingVolume * > > m_confinedDetachedVolumes
Additionally, Unordered subvolumes (we own the elements)
Definition: TrackingVolume.h:444
Trk::Static
@ Static
Definition: GeometrySignature.h:38
Trk::TrackingVolume::nextSubVolume
const TrackingVolume * nextSubVolume(const Amg::Vector3D &gp, const Amg::Vector3D &dir) const
Return the next sub Volume if existing, returns THIS if no subVolume exists.
Definition: TrackingVolume.cxx:614
Trk::BoundarySurface
Definition: BoundarySurface.h:43
Trk::TrackingVolume::addMaterial
void addMaterial(const Material &mat, float fact=1.)
add Material
Definition: TrackingVolume.cxx:736
Trk::TrackingVolume::createBoundarySurfaces
void createBoundarySurfaces()
Create Boundary Surface.
Definition: TrackingVolume.cxx:828
Trk::TrackingVolume::nextLayer
const Layer * nextLayer(const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool asres=true, bool skipNavLayer=false) const
Return the next Layer if existing, NULL if no next layer corresponds.
Definition: TrackingVolume.cxx:418
ObjectAccessor.h
Trk::TrackingVolume::moveVolume
void moveVolume(Amg::Transform3D &shift)
move Volume
Definition: TrackingVolume.cxx:1034
GeometrySignature.h
Trk::ConstSharedPtrSpan::ConstSharedPtrSpan
ConstSharedPtrSpan(const std::vector< std::shared_ptr< T >> &var)
Definition: TrackingVolume.h:67
AthMsgStreamMacros.h
Surface.h
GeometrySignature
Trk::TrackingVolume::closestMaterialLayer
LayerIntersection< Amg::Vector3D > closestMaterialLayer(const Amg::Vector3D &gp, const Amg::Vector3D &dir, PropDirection pDir=alongMomentum, const BoundaryCheck &bchk=true) const
Return the closest layer with material description.
Definition: TrackingVolume.cxx:445
Trk::TrackingVolume::geometrySignature
GeometrySignature geometrySignature() const
return the Signature
Trk::TrackingVolume::~TrackingVolume
virtual ~TrackingVolume() override
Destructor.
Definition: TrackingVolume.cxx:366
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
BinnedArray.h
Trk::TrackingVolume::confinedVolumes
TrackingVolumeArray * confinedVolumes()
Return the subLayer array.
Trk::ConstSharedPtrSpan::size
constexpr size_t size() const noexcept
Definition: TrackingVolume.h:74
CxxUtils::CachedUniquePtrT
Cached pointer with atomic update.
Definition: CachedUniquePtr.h:54
Trk::TrackingVolume::geometryType
GeometryType geometryType() const
return the Signature
Trk::TrackingVolume::getMotherVolume
const TrackingVolume * getMotherVolume() const
Return the MotherVolume - if it exists.
Trk::TrackingVolume::associatedSubVolume
const TrackingVolume * associatedSubVolume(const Amg::Vector3D &gp) const
Return the associated sub Volume, returns THIS if no subVolume exists.
Definition: TrackingVolume.cxx:530
python.SystemOfUnits.second
float second
Definition: SystemOfUnits.py:135
Trk::TrackingVolume::entryLayer
const Layer * entryLayer(const Amg::Vector3D &gp, const Amg::Vector3D &dir) const
Return the entry Layer to a TrackingVolume depending on the entry point.
Trk::TrackingVolume::confinedDetachedVolumes
ArraySpan< DetachedTrackingVolume const *const > confinedDetachedVolumes() const
Return detached subVolumes - not the ownership.
Trk::TrackingVolume::m_boundarySurfaces
std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > m_boundarySurfaces
Definition: TrackingVolume.h:438
PropDirection.h
Trk::TrackingVolume::m_confinedDenseVolumes
std::unique_ptr< const std::vector< TrackingVolume * > > m_confinedDenseVolumes
Additionally, Unordered Layers inside the Volume (we own the elements)
Definition: TrackingVolume.h:446
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
Trk::TrackingVolume::checkoutConfinedLayers
const LayerArray * checkoutConfinedLayers() const
Return the subLayerarray including the ownership.
Definition: TrackingVolume.cxx:1003
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::TrackingVolume::confinedDenseVolumes
ArraySpan< TrackingVolume *const > confinedDenseVolumes()
Trk::TrackingVolume::m_confinedLayers
std::unique_ptr< LayerArray > m_confinedLayers
Array of Volumes inside the Volume.
Definition: TrackingVolume.h:440
Trk::TrackingVolume::indexContainedMaterialLayers
void indexContainedMaterialLayers(GeometrySignature geoSig, int &offset)
reIndex the material layers of the TrackingVolume
Definition: TrackingVolume.cxx:689
Trk::TrackingVolume::layerAttempts
unsigned int layerAttempts(BoundarySurfaceFace exitFace) const
Layer attempts - as provided by the LayerAttemptCreator.
Trk::TrackingVolume::registerColorCode
void registerColorCode(unsigned int icolor)
Register the color code.
Trk::BoundarySurfaceFace
BoundarySurfaceFace
Definition: BoundarySurfaceFace.h:31
Trk::TrackingVolume::m_confinedArbitraryLayers
std::unique_ptr< const std::vector< Layer * > > m_confinedArbitraryLayers
Definition: TrackingVolume.h:448
Trk::TrackingVolume::m_confinedVolumes
std::unique_ptr< TrackingVolumeArray > m_confinedVolumes
Detached subvolumes.
Definition: TrackingVolume.h:442
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::ObjectAccessor::value_type
int value_type
Definition: ObjectAccessor.h:17
Trk::TrackingVolume::confinedLayers
const LayerArray * confinedLayers() const
Return the subLayer array.
Trk::NumberOfGeometryTypes
@ NumberOfGeometryTypes
Definition: GeometrySignature.h:43
Trk::TrackingVolume::onVolumeBoundary
bool onVolumeBoundary(const T &pars) const
show if you are on a boundary surface
GeoPrimitives.h
Trk::TrackingVolume::materialLayersOrdered
std::vector< LayerIntersection< T > > materialLayersOrdered(const Layer *sLayer, const Layer *eLayer, const T &parameters, PropDirection pDir=alongMomentum, const BoundaryCheck &bchk=true, bool resolveSubSurfaces=false) const
Return the material layers ordered based on straight line intersections:
LayerAttemptsCalculator.h
Trk::TrackingVolume::colorCode
unsigned int colorCode() const
Get the color code.
Volume.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::TrackingVolume::indexContainedStaticLayers
void indexContainedStaticLayers(GeometrySignature geoSig, int &offset)
reIndex the static layers of the TrackingVolume
Definition: TrackingVolume.cxx:642
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
Trk::TrackingVolume::assocDetachedSubVolumes
std::vector< const DetachedTrackingVolume * > assocDetachedSubVolumes(const Amg::Vector3D &gp, double tol) const
Return the associated detached subvolumes.
Definition: TrackingVolume.cxx:624
lumiFormat.i
int i
Definition: lumiFormat.py:85
Trk::ArraySpan
std::span< T > ArraySpan
Definition: TrackingVolume.h:59
Trk::TrackingVolume::confinedArbitraryLayers
ArraySpan< Layer const *const > confinedArbitraryLayers() const
Return the confined subLayer array.
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
Trk::TrackingVolume::confinedDenseVolumes
ArraySpan< TrackingVolume const *const > confinedDenseVolumes() const
Return unordered subVolumes - not the ownership.
Trk::TrackingVolume::boundarySurface
const BoundarySurface< TrackingVolume > * boundarySurface(const ObjectAccessor::value_type &oa) const
Get the BoundarySurface to the appointed Accessor state.
Definition: TrackingVolume.cxx:822
Trk::TrackingVolume::m_name
std::string m_name
Volume name for debug reasons.
Definition: TrackingVolume.h:457
Trk::TrackingVolume::m_geometrySignature
GeometrySignature m_geometrySignature
Definition: TrackingVolume.h:456
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::TrackingVolume::registerOutsideGlueVolumes
void registerOutsideGlueVolumes(GlueVolumesDescriptor *gvd)
Register the outside glue volumes - ordering is in the TrackingVolume Frame:
Definition: TrackingVolume.cxx:1010
CachedUniquePtr.h
Cached unique_ptr with atomic update.
Trk::TrackingVolume::synchronizeLayers
void synchronizeLayers(MsgStream &msgstream, double envelope=1.)
method to synchronize the layers with potentially updated volume bounds:
Definition: TrackingVolume.cxx:1103
Trk::TrackingVolume::m_colorCode
unsigned int m_colorCode
Color code for displaying.
Definition: TrackingVolume.h:458
Trk::TrackingVolumeArray
BinnedArray< TrackingVolume > TrackingVolumeArray
Definition: ITrackingVolumeArrayCreator.h:27
Trk::TrackingVolume::boundarySurfaces
std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > & boundarySurfaces()
Method to return the BoundarySurfaces.
Definition: TrackingVolume.cxx:809
Trk::TrackingVolume::exitLayer
const Layer * exitLayer(const Amg::Vector3D &gp, const Amg::Vector3D &dir) const
Return the exit Layer from a TrackingVolume.
TrackingVolume.icc
Trk::ConstSharedPtrSpan::operator[]
const T * operator[](size_t i) const
Definition: TrackingVolume.h:72
Trk::Unsigned
@ Unsigned
Definition: GeometrySignature.h:33
DetachedTrackingVolume.h
beamspotman.dir
string dir
Definition: beamspotman.py:619
Trk::TrackingVolume::confinedDetachedVolumes
ArraySpan< DetachedTrackingVolume *const > confinedDetachedVolumes()
Trk::ConstSharedPtrSpan
Definition: TrackingVolume.h:65
Trk::ConstSharedPtrSpan::m_span
ArraySpan< const std::shared_ptr< T > > m_span
Definition: TrackingVolume.h:77
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackingVolume::volumeName
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
BoundaryDiscSurface.h
GlueVolumesDescriptor.h
Trk::TrackingVolume::operator=
TrackingVolume & operator=(const TrackingVolume &)=delete
Forbid assignment.
BoundarySurfaceFace.h
Trk::TrackingVolume::moveTV
void moveTV(Amg::Transform3D &transform)
move the Tracking Volume
Definition: TrackingVolume.cxx:1063
Trk::LayerArray
BinnedArray< Layer > LayerArray
Definition: TrackingVolume.h:52
Trk::TrackingVolume::confinedArbitraryLayers
ArraySpan< Layer *const > confinedArbitraryLayers()
Return the confined subLayer array.
Trk::TrackingVolume::boundarySurfacesOrdered
std::vector< BoundaryIntersection< T > > boundarySurfacesOrdered(const T &parameters, PropDirection pDir=alongMomentum, bool startOffBoundary=false) const
Returns the boundary surfaces ordered in probability to hit them based on straight line intersection.
Trk::Volume::transform
const Amg::Transform3D & transform() const
Return methods for geometry transform.
Definition: Volume.h:83
Trk::TrackingVolume::m_geometryType
GeometryType m_geometryType
The Signature done by the GeometryBuilder.
Definition: TrackingVolume.h:454
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::TrackingVolume::m_motherVolume
const TrackingVolume * m_motherVolume
boundary Surfaces, they can be shared between volumes
Definition: TrackingVolume.h:436
Trk::GlueVolumesDescriptor
Definition: GlueVolumesDescriptor.h:40
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
BoundarySurface.h
Trk::TrackingVolume::createLayerAttemptsCalculator
void createLayerAttemptsCalculator()
Create Layer Attempts Caluclator.
Definition: TrackingVolume.cxx:950
Trk::TrackingVolume::TrackingVolume
TrackingVolume()=default
Default Constructor.
Trk::ConstSharedPtrSpan::empty
constexpr bool empty() const noexcept
Definition: TrackingVolume.h:73
Trk::TrackingVolume::TrackingVolume
TrackingVolume(const TrackingVolume &)=delete
Forbidden copy constructor.
BoundaryCylinderSurface.h
Trk::TrackingVolume::nextVolume
const TrackingVolume * nextVolume(const Amg::Vector3D &gp, const Amg::Vector3D &dir, PropDirection pDir=alongMomentum) const
Return the next volume along the navigation stream.
Definition: TrackingVolume.cxx:583
Trk::BoundaryCheck
Definition: BoundaryCheck.h:51
Trk::TrackingVolume::sign
void sign(GeometrySignature signat, GeometryType gtype=Static)
sign the volume - the geometry builder has to do that
Definition: TrackingVolume.cxx:766
Trk::TrackingVolume::confinedVolumes
const TrackingVolumeArray * confinedVolumes() const
Return the subLayer array.
Trk::TrackingVolume::setMotherVolume
void setMotherVolume(const TrackingVolume *mvol)
set the MotherVolume
DeMoScan.first
bool first
Definition: DeMoScan.py:534
Trk::TrackingVolume::compactify
void compactify(size_t &rSurfaces, size_t &tSurfaces)
compactify the memory usage in the event by setting ownership to TackingGeometry the referenced types...
Definition: TrackingVolume.cxx:1131
BoundaryCheck.h
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
Trk::TrackingVolume::isAlignable
virtual bool isAlignable() const
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
Trk::TrackingVolume::m_layerAttemptsCalculator
std::unique_ptr< LayerAttemptsCalculator > m_layerAttemptsCalculator
defines how the Extrapolator propagates through this
Definition: TrackingVolume.h:452
Trk::GeometryType
GeometryType
Definition: GeometrySignature.h:37
Trk::FullIntersection
Class extension to return the object, a represenation & the result.
Definition: Intersection.h:64
Trk::Material
Definition: Material.h:117
Trk::TrackingVolume::interlinkLayers
void interlinkLayers()
Register Next - Previous for Layers, set volumelink.
Definition: TrackingVolume.cxx:967
Trk::BinnedArray
Definition: BinnedArray.h:36
Trk::TrackingVolume::m_outsideGlueVolumes
CxxUtils::CachedUniquePtrT< GlueVolumesDescriptor > m_outsideGlueVolumes
provided the number of layer attempts
Definition: TrackingVolume.h:450
Trk::DetachedTrackingVolume
Definition: DetachedTrackingVolume.h:37
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:79
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::Volume
Definition: Volume.h:36
Trk::TrackingVolume
Definition: TrackingVolume.h:119
Trk::TrackingVolume::associatedLayer
const Layer * associatedLayer(const Amg::Vector3D &gp) const
Return the associated Layer.
Definition: TrackingVolume.cxx:382
Trk::TrackingVolume::confinedLayers
LayerArray * confinedLayers()
Return the subLayer array.
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
Trk::TrackingVolume::maxLayerAttempts
unsigned int maxLayerAttempts() const
Layer attempts - as provided by the LayerAttemptCreator.
Material.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
Trk::TrackingVolume::screenDump
void screenDump(MsgStream &msg) const
Definition: TrackingVolume.cxx:1185
Trk::Layer
Definition: Layer.h:72