ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
Trk::TrackingGeometry Class Reference

#include <TrackingGeometry.h>

Collaboration diagram for Trk::TrackingGeometry:

Classes

class  constTransformLayerMap
 

Public Types

using constMapRange_t = boost::iterator_range< iterator_convert_const_t >
 

Public Member Functions

 TrackingGeometry (TrackingVolume *highestVolume, NavigationLevel navlevel=globalSearch)
 Constructor. More...
 
virtual ~TrackingGeometry ()
 Destructor. More...
 
const TrackingVolumehighestTrackingVolume () const
 return the world More...
 
TrackingVolumehighestTrackingVolume ()
 
const TrackingVolumelowestTrackingVolume (const Amg::Vector3D &gp) const
 return the lowest tracking Volume More...
 
std::vector< const Trk::DetachedTrackingVolume * > lowestDetachedTrackingVolumes (const Amg::Vector3D &gp) const
 return the vector of lowest detached tracking Volume(->overlaps) More...
 
const TrackingVolumelowestStaticTrackingVolume (const Amg::Vector3D &gp) const
 return the lowest static tracking Volume More...
 
const TrackingVolumetrackingVolume (const std::string &name) const
 return the tracking Volume by name, 0 if it doesn't exist More...
 
const LayerassociatedLayer (const Amg::Vector3D &gp) const
 Forward the associated Layer information. More...
 
const LayernextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool skipNavLayer=false) const
 Forward the next Layer information. More...
 
template<class T >
LayerIntersection< Amg::Vector3DclosestMaterialLayer (const T &pars, PropDirection pDir=Trk::alongMomentum, const BoundaryCheck &bchk=true) const
 Closest Material Layer - used for the mapping option. More...
 
const std::map< Layer *, int > & boundaryLayers ()
 Return the unique BoundarySurfaces with MaterialInformation. More...
 
constMapRange_t boundaryLayers () const
 
size_t numBoundaryLayers () const
 
NavigationLevel navigationLevel () const
 Return the Navigation Level - only one TrackingGeometry can have full association to GeoModel. More...
 
void printVolumeHierarchy (MsgStream &msgstream) const
 Print the summary of volume Hierarchy of the TrackingGeometry. More...
 
void indexStaticLayers (GeometrySignature geosit, int offset=0)
 indexLayers : method to re-set the index of the layers, depending on geometrySignature More...
 
void dump (MsgStream &out, const std::string &head) const
 
void addToGarbage (std::vector< std::unique_ptr< Trk::DetachedTrackingVolume >> &&garbageVec)
 
void addToGarbage (std::vector< std::unique_ptr< Trk::TrackingVolume >> &&garbageVec)
 

Static Public Member Functions

static bool atVolumeBoundary (const Amg::Vector3D &gp, const TrackingVolume *vol, double tol)
 check position at volume boundary More...
 
static bool atVolumeBoundary (const Amg::Vector3D &gp, const Amg::Vector3D &mom, const TrackingVolume *vol, const TrackingVolume *&nextVol, Trk::PropDirection dir, double tol)
 check position at volume boundary + navigation link More...
 

Private Types

using iterator_convert_const_t = boost::transform_iterator< constTransformLayerMap, std::map< Trk::Layer *, int >::const_iterator >
 

Private Member Functions

void sign (GeometrySignature geosit, GeometryType geotype=Static)
 Geometry Builder busineess: the geometry builder has to sign. More...
 
void compactify (MsgStream &msgstream, TrackingVolume *vol=nullptr)
 Geometry Builder busineess: set all contained surfaces TG owned - this should save memory and avoid surface copying. More...
 
void synchronizeLayers (MsgStream &msgstream, TrackingVolume *vol=nullptr)
 Geometry Builder business: synchronize all layers to enclosed volume dimensions. More...
 
void registerNavigationLevel (NavigationLevel navlevel)
 private method the Navigation Level More...
 
void registerTrackingVolumes (TrackingVolume &tvol, TrackingVolume *mvol=nullptr, int lvl=0)
 private method to register recursively the tracking volumes More...
 
TrackingVolumecheckoutHighestTrackingVolume ()
 private method to be called from GeometryBuilder: return the world with ownership More...
 
void printVolumeInformation (MsgStream &msgstream, const TrackingVolume &tvol, int lvl) const
 print VolumeInformation with Level More...
 

Static Private Member Functions

static void dumpLayer (MsgStream &out, const std::string &head, const Layer *layer)
 

Private Attributes

TrackingVolumem_world {}
 The known world - and the beam. More...
 
std::map< Layer *, int > m_boundaryLayers
 The unique boundary Layers. More...
 
std::map< const std::string, const TrackingVolume * > m_trackingVolumes
 The Volumes in a map for later finding. More...
 
NavigationLevel m_navigationLevel
 The Navigation level for identification. More...
 
std::vector< std::shared_ptr< DetachedTrackingVolume > > m_detachedVolGarbage {}
 keep ownership of MuonTrackingGeometry elements in here More...
 
std::vector< std::shared_ptr< TrackingVolume > > m_trkVolumeGarbage {}
 

Friends

class GeometryBuilder
 Give the GeometryBuilder friend rights. More...
 
class GeometryBuilderCond
 

Detailed Description

The TrackingGeometry class is the owner of the constructed TrackingVolumes. It enables both, a global search for an asociatedVolume (respectively, if existing, a global search of an associated Layer or the next associated Layer), such as a continous navigation by BoundarySurfaces between the confined TrackingVolumes.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch
Christos Anastopoulos (Athena MT modifications)

Definition at line 66 of file TrackingGeometry.h.

Member Typedef Documentation

◆ constMapRange_t

Definition at line 91 of file TrackingGeometry.h.

◆ iterator_convert_const_t

using Trk::TrackingGeometry::iterator_convert_const_t = boost::transform_iterator<constTransformLayerMap, std::map<Trk::Layer*, int>::const_iterator>
private

Definition at line 85 of file TrackingGeometry.h.

Constructor & Destructor Documentation

◆ TrackingGeometry()

Trk::TrackingGeometry::TrackingGeometry ( TrackingVolume highestVolume,
NavigationLevel  navlevel = globalSearch 
)

Constructor.

Definition at line 23 of file TrackingGeometry.cxx.

24  :
25  m_world(highestVolume),
26  m_navigationLevel(navLev) {
27  // for the time being only world
28  if (!m_world) return;
30 }

◆ ~TrackingGeometry()

Trk::TrackingGeometry::~TrackingGeometry ( )
virtual

Destructor.

Definition at line 32 of file TrackingGeometry.cxx.

32  {
33  if (m_world) delete m_world;
34 }

Member Function Documentation

◆ addToGarbage() [1/2]

void Trk::TrackingGeometry::addToGarbage ( std::vector< std::unique_ptr< Trk::DetachedTrackingVolume >> &&  garbageVec)

Definition at line 35 of file TrackingGeometry.cxx.

35  {
36  std::copy_if(std::make_move_iterator(garbageVec.begin()), std::make_move_iterator(garbageVec.end()),
37  std::back_inserter(m_detachedVolGarbage),
38  [](const std::unique_ptr<DetachedTrackingVolume>& ptr){
39  return ptr.get () != nullptr;
40  });
41 
42 }

◆ addToGarbage() [2/2]

void Trk::TrackingGeometry::addToGarbage ( std::vector< std::unique_ptr< Trk::TrackingVolume >> &&  garbageVec)

Definition at line 43 of file TrackingGeometry.cxx.

43  {
44  std::copy_if(std::make_move_iterator(garbageVec.begin()), std::make_move_iterator(garbageVec.end()),
45  std::back_inserter(m_trkVolumeGarbage),
46  [](const std::unique_ptr<TrackingVolume>& ptr){
47  return ptr.get () != nullptr;
48  });
49 }

◆ associatedLayer()

const Layer* Trk::TrackingGeometry::associatedLayer ( const Amg::Vector3D gp) const

Forward the associated Layer information.

◆ atVolumeBoundary() [1/2]

bool Trk::TrackingGeometry::atVolumeBoundary ( const Amg::Vector3D gp,
const Amg::Vector3D mom,
const TrackingVolume vol,
const TrackingVolume *&  nextVol,
Trk::PropDirection  dir,
double  tol 
)
static

check position at volume boundary + navigation link

Definition at line 268 of file TrackingGeometry.cxx.

274 {
275  bool isAtBoundary = false;
276  nextVol = nullptr;
277  if (!vol)
278  return isAtBoundary;
279  const auto& bounds = vol->boundarySurfaces();
280  for (size_t ib = 0; ib < bounds.size(); ++ib) {
281  const Trk::Surface& surf = bounds[ib]->surfaceRepresentation();
282  if (surf.isOnSurface(gp, true, tol, tol)) {
283  isAtBoundary = true;
284  const Trk::TrackingVolume* attachedVol =
285  bounds[ib]->attachedVolume(gp, mom, dir);
286  if (!nextVol && attachedVol)
287  nextVol = attachedVol;
288  }
289  }
290  return isAtBoundary;
291 }

◆ atVolumeBoundary() [2/2]

bool Trk::TrackingGeometry::atVolumeBoundary ( const Amg::Vector3D gp,
const TrackingVolume vol,
double  tol 
)
static

check position at volume boundary

Definition at line 250 of file TrackingGeometry.cxx.

253 {
254  bool isAtBoundary = false;
255  if (!vol)
256  return isAtBoundary;
257  const auto& bounds = vol->boundarySurfaces();
258  for (size_t ib = 0; ib < bounds.size(); ++ib) {
259  const Trk::Surface& surf = bounds[ib]->surfaceRepresentation();
260  if (surf.isOnSurface(gp, true, tol, tol))
261  isAtBoundary = true;
262  }
263  return isAtBoundary;
264 }

◆ boundaryLayers() [1/2]

const std::map<Layer*, int>& Trk::TrackingGeometry::boundaryLayers ( )

Return the unique BoundarySurfaces with MaterialInformation.

◆ boundaryLayers() [2/2]

constMapRange_t Trk::TrackingGeometry::boundaryLayers ( ) const

◆ checkoutHighestTrackingVolume()

Trk::TrackingVolume * Trk::TrackingGeometry::checkoutHighestTrackingVolume ( )
private

private method to be called from GeometryBuilder: return the world with ownership

Definition at line 169 of file TrackingGeometry.cxx.

169  {
170  Trk::TrackingVolume* checkoutVolume{nullptr};
171  std::swap(m_world, checkoutVolume);
172  // clear the boundary layers they go with the highest volume
173  m_boundaryLayers.clear();
174  return checkoutVolume;
175 }

◆ closestMaterialLayer()

template<class T >
LayerIntersection<Amg::Vector3D> Trk::TrackingGeometry::closestMaterialLayer ( const T &  pars,
PropDirection  pDir = Trk::alongMomentum,
const BoundaryCheck bchk = true 
) const

Closest Material Layer - used for the mapping option.

◆ compactify()

void Trk::TrackingGeometry::compactify ( MsgStream &  msgstream,
TrackingVolume vol = nullptr 
)
private

Geometry Builder busineess: set all contained surfaces TG owned - this should save memory and avoid surface copying.

  • prints compactification statistics

Definition at line 141 of file TrackingGeometry.cxx.

142 {
143  msg << MSG::VERBOSE
144  << "====== Calling TrackingGeometry::compactify() ===== " << std::endl;
145  Trk::TrackingVolume* tVolume = vol ? vol : highestTrackingVolume();
146  size_t cSurfaces = 0;
147  size_t tSurfaces = 0;
148  if (tVolume) {
149  tVolume->compactify(cSurfaces, tSurfaces);
150  }
151  msg << MSG::VERBOSE << " --> set TG ownership of " << cSurfaces << " out of "
152  << tSurfaces << std::endl;
153  for (const auto& bLayerIter : m_boundaryLayers) {
154  bLayerIter.first->surfaceRepresentation().setOwner(Trk::TGOwn);
155  }
156  msg << MSG::VERBOSE << " --> set TG ownership of " << m_boundaryLayers.size()
157  << " boundary layers." << std::endl;
158  msg << MSG::VERBOSE << endmsg;
159 }

◆ dump()

void Trk::TrackingGeometry::dump ( MsgStream &  out,
const std::string &  head 
) const

Definition at line 294 of file TrackingGeometry.cxx.

295 {
296  out << MSG::ALWAYS;
297  for (const auto& bound_layers : m_boundaryLayers) {
298  out << head << " [" << bound_layers.second << "] ";
299  dumpLayer(out, "", bound_layers.first);
300  }
301  int counter = 0;
302  for (const std::pair<const std::string, const TrackingVolume*>& volume :
304  out << head << " [" << counter++ << "] " << volume.first << " volumeBound=";
305  volume.second->volumeBounds().dump(out);
306  out << std::endl;
308  volume.second->confinedArbitraryLayers();
309  if (!confArbLayers.empty()) {
310  int j = 0;
311  for (const Layer* confined_layer : confArbLayers) {
312  out << head << " [" << counter++ << "] " << volume.first
313  << " confinedArbitrary layer " << j++ << " ";
314  dumpLayer(out, "", confined_layer);
315  }
316  }
317  if (volume.second->confinedLayers()) {
318  int j = 0;
319  for (const Layer* confined_layer :
320  volume.second->confinedLayers()->arrayObjects()) {
321  out << head << " [" << counter++ << "] " << volume.first
322  << " confined layer" << j++ << " ";
323  dumpLayer(out, "", confined_layer);
324  }
325  }
326  }
327  out << endmsg;
328 }

◆ dumpLayer()

void Trk::TrackingGeometry::dumpLayer ( MsgStream &  out,
const std::string &  head,
const Layer layer 
)
staticprivate

Definition at line 330 of file TrackingGeometry.cxx.

333 {
334  if (!layer) {
335  return;
336  }
337  out << head << layer->layerIndex().value() << " [t=" << layer->layerType()
338  << "] d=" << layer->thickness();
339  out << layer->surfaceRepresentation();
340  out << std::endl;
341 }

◆ highestTrackingVolume() [1/2]

TrackingVolume* Trk::TrackingGeometry::highestTrackingVolume ( )

◆ highestTrackingVolume() [2/2]

const TrackingVolume* Trk::TrackingGeometry::highestTrackingVolume ( ) const

return the world

◆ indexStaticLayers()

void Trk::TrackingGeometry::indexStaticLayers ( GeometrySignature  geosit,
int  offset = 0 
)

indexLayers : method to re-set the index of the layers, depending on geometrySignature

Definition at line 241 of file TrackingGeometry.cxx.

242 {
243  if (m_world) {
246  }
247 }

◆ lowestDetachedTrackingVolumes()

std::vector< const Trk::DetachedTrackingVolume * > Trk::TrackingGeometry::lowestDetachedTrackingVolumes ( const Amg::Vector3D gp) const

return the vector of lowest detached tracking Volume(->overlaps)

Definition at line 65 of file TrackingGeometry.cxx.

67 {
68  double tol = 0.001;
69  const Trk::TrackingVolume* currentVolume = lowestStaticTrackingVolume(gp);
70  if (currentVolume){
71  return currentVolume->assocDetachedSubVolumes(gp, tol);
72  }
73  return {};
74 }

◆ lowestStaticTrackingVolume()

const Trk::TrackingVolume * Trk::TrackingGeometry::lowestStaticTrackingVolume ( const Amg::Vector3D gp) const

return the lowest static tracking Volume

Definition at line 77 of file TrackingGeometry.cxx.

78 {
79  const Trk::TrackingVolume* searchVolume = highestTrackingVolume();
80  const Trk::TrackingVolume* currentVolume = nullptr;
81  while (currentVolume != searchVolume && searchVolume) {
82  currentVolume = searchVolume;
83  if (searchVolume->confinedDetachedVolumes().empty())
84  searchVolume = searchVolume->associatedSubVolume(gp);
85  }
86  return (currentVolume);
87 }

◆ lowestTrackingVolume()

const Trk::TrackingVolume * Trk::TrackingGeometry::lowestTrackingVolume ( const Amg::Vector3D gp) const

return the lowest tracking Volume

Definition at line 53 of file TrackingGeometry.cxx.

54 {
55  const Trk::TrackingVolume* searchVolume = highestTrackingVolume();
56  const Trk::TrackingVolume* currentVolume = nullptr;
57  while (currentVolume != searchVolume && searchVolume) {
58  currentVolume = searchVolume;
59  searchVolume = searchVolume->associatedSubVolume(gp);
60  }
61  return (currentVolume);
62 }

◆ navigationLevel()

NavigationLevel Trk::TrackingGeometry::navigationLevel ( ) const

Return the Navigation Level - only one TrackingGeometry can have full association to GeoModel.

◆ nextLayer()

const Layer* Trk::TrackingGeometry::nextLayer ( const Amg::Vector3D gp,
const Amg::Vector3D mom,
bool  skipNavLayer = false 
) const

Forward the next Layer information.

◆ numBoundaryLayers()

size_t Trk::TrackingGeometry::numBoundaryLayers ( ) const

◆ printVolumeHierarchy()

void Trk::TrackingGeometry::printVolumeHierarchy ( MsgStream &  msgstream) const

Print the summary of volume Hierarchy of the TrackingGeometry.

Definition at line 178 of file TrackingGeometry.cxx.

179 {
180  msg << "TrackingGeometry Summary : " << std::endl;
181  const Trk::TrackingVolume* highestVolume = highestTrackingVolume();
182  int level = 0;
183  if (highestVolume)
184  printVolumeInformation(msg, *highestVolume, level);
185  msg << endmsg;
186 }

◆ printVolumeInformation()

void Trk::TrackingGeometry::printVolumeInformation ( MsgStream &  msgstream,
const TrackingVolume tvol,
int  lvl 
) const
private

print VolumeInformation with Level

Definition at line 189 of file TrackingGeometry.cxx.

192 {
193  int sublevel = lvl + 1;
194 
195  for (int indent = 0; indent < sublevel; ++indent)
196  msg << " ";
197  msg << "TrackingVolume ( at : " << (&tvol) << ") name: " << tvol.volumeName()
198  << std::endl;
199 
200  const Trk::BinnedArray<Trk::Layer>* confinedLayers = tvol.confinedLayers();
201  if (confinedLayers) {
203  confinedLayers->arrayObjects();
204  for (int indent = 0; indent < sublevel; ++indent)
205  msg << " ";
206  msg << "- found : " << layers.size() << " confined Layers" << std::endl;
207  }
208 
209  const Trk::BinnedArray<Trk::TrackingVolume>* confinedVolumes =
210  tvol.confinedVolumes();
211  if (confinedVolumes) {
213  confinedVolumes->arrayObjects();
214 
215  for (int indent = 0; indent < sublevel; ++indent)
216  msg << " ";
217  msg << "- found : " << volumes.size() << " confined TrackingVolumes"
218  << std::endl;
219 
220  for (const auto& volumesIter : volumes)
221  if (volumesIter)
222  printVolumeInformation(msg, *volumesIter, sublevel);
223  }
224 
226  tvol.confinedDenseVolumes();
227  if (!confinedDenseVolumes.empty()) {
228  for (int indent = 0; indent < sublevel; ++indent) {
229  msg << " ";
230  }
231  msg << "- found : " << confinedDenseVolumes.size()
232  << " confined unordered (dense) TrackingVolumes" << std::endl;
233 
234  for (const auto& volumesIter : (confinedDenseVolumes))
235  if (volumesIter) {
236  printVolumeInformation(msg, *volumesIter, sublevel);
237  }
238  }
239 }

◆ registerNavigationLevel()

void Trk::TrackingGeometry::registerNavigationLevel ( NavigationLevel  navlevel)
private

private method the Navigation Level

◆ registerTrackingVolumes()

void Trk::TrackingGeometry::registerTrackingVolumes ( Trk::TrackingVolume tvol,
Trk::TrackingVolume mvol = nullptr,
int  lvl = 0 
)
private

private method to register recursively the tracking volumes

should detached tracking volumes be part of the tracking geometry ?

register the boundary layers

Definition at line 90 of file TrackingGeometry.cxx.

93 {
94  int sublvl = lvl + 1;
95  std::string indent = "";
96  for (int l = 0; l < lvl; ++l, indent += " ")
97  ;
98 
99  tvol.setMotherVolume(mvol);
100  m_trackingVolumes[tvol.volumeName()] = (&tvol);
101  Trk::BinnedArray<Trk::TrackingVolume>* confinedVolumes =
102  tvol.confinedVolumes();
103  if (confinedVolumes) {
105  confinedVolumes->arrayObjects();
106  for (const auto& volumesIter : volumes)
107  if (volumesIter)
108  registerTrackingVolumes(*volumesIter, &tvol, sublvl);
109  }
110 
111  Trk::ArraySpan<Trk::TrackingVolume* const> confinedDenseVolumes =
112  tvol.confinedDenseVolumes();
113  if (!confinedDenseVolumes.empty()) {
114  for (const auto& volumesIter : confinedDenseVolumes)
115  if (volumesIter)
116  registerTrackingVolumes(*volumesIter, &tvol, sublvl);
117  }
121  if (!confinedDetachedVolumes.empty()) {
122  for (const auto& volumesIter : confinedDetachedVolumes)
123  if (volumesIter &&
124  tvol.inside(volumesIter->trackingVolume()->center(), 0.))
126  *(volumesIter->trackingVolume()), &tvol, sublvl);
127  }
129  // boundary layers
130  const auto& bounds = tvol.boundarySurfaces();
131  for (const auto & bound : bounds) {
132  Trk::Layer* bLayer =
134  if (bLayer) {
135  int& layerCount{m_boundaryLayers[bLayer]};
136  ++layerCount;
137  }
138  }
139 }

◆ sign()

void Trk::TrackingGeometry::sign ( GeometrySignature  geosit,
GeometryType  geotype = Static 
)
private

Geometry Builder busineess: the geometry builder has to sign.

◆ synchronizeLayers()

void Trk::TrackingGeometry::synchronizeLayers ( MsgStream &  msgstream,
TrackingVolume vol = nullptr 
)
private

Geometry Builder business: synchronize all layers to enclosed volume dimensions.

Definition at line 162 of file TrackingGeometry.cxx.

163 {
164  Trk::TrackingVolume* tVolume = vol ? vol : highestTrackingVolume();
165  tVolume->synchronizeLayers(msg);
166 }

◆ trackingVolume()

const TrackingVolume* Trk::TrackingGeometry::trackingVolume ( const std::string &  name) const

return the tracking Volume by name, 0 if it doesn't exist

Friends And Related Function Documentation

◆ GeometryBuilder

friend class GeometryBuilder
friend

Give the GeometryBuilder friend rights.

Definition at line 70 of file TrackingGeometry.h.

◆ GeometryBuilderCond

friend class GeometryBuilderCond
friend

Definition at line 72 of file TrackingGeometry.h.

Member Data Documentation

◆ m_boundaryLayers

std::map<Layer*, int> Trk::TrackingGeometry::m_boundaryLayers
private

The unique boundary Layers.

Definition at line 207 of file TrackingGeometry.h.

◆ m_detachedVolGarbage

std::vector<std::shared_ptr<DetachedTrackingVolume> > Trk::TrackingGeometry::m_detachedVolGarbage {}
private

keep ownership of MuonTrackingGeometry elements in here

Definition at line 217 of file TrackingGeometry.h.

◆ m_navigationLevel

NavigationLevel Trk::TrackingGeometry::m_navigationLevel
private

The Navigation level for identification.

Definition at line 213 of file TrackingGeometry.h.

◆ m_trackingVolumes

std::map<const std::string, const TrackingVolume*> Trk::TrackingGeometry::m_trackingVolumes
private

The Volumes in a map for later finding.

Definition at line 210 of file TrackingGeometry.h.

◆ m_trkVolumeGarbage

std::vector<std::shared_ptr<TrackingVolume> > Trk::TrackingGeometry::m_trkVolumeGarbage {}
private

Definition at line 218 of file TrackingGeometry.h.

◆ m_world

TrackingVolume* Trk::TrackingGeometry::m_world {}
private

The known world - and the beam.

Definition at line 204 of file TrackingGeometry.h.


The documentation for this class was generated from the following files:
Trk::TrackingGeometry::m_world
TrackingVolume * m_world
The known world - and the beam.
Definition: TrackingGeometry.h:204
Trk::TrackingGeometry::m_boundaryLayers
std::map< Layer *, int > m_boundaryLayers
The unique boundary Layers.
Definition: TrackingGeometry.h:207
Trk::Volume::inside
bool inside(const Amg::Vector3D &gp, double tol=0.) const
Inside() method for checks.
Definition: Volume.cxx:90
Trk::TrackingVolume::boundarySurfaces
std::vector< SharedObject< BoundarySurface< TrackingVolume > > > & boundarySurfaces()
Method to return the BoundarySurfaces.
Definition: TrackingVolume.cxx:982
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:710
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:114
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
PlotCalibFromCool.ib
ib
Definition: PlotCalibFromCool.py:419
Trk::TrackingGeometry::registerTrackingVolumes
void registerTrackingVolumes(TrackingVolume &tvol, TrackingVolume *mvol=nullptr, int lvl=0)
private method to register recursively the tracking volumes
Definition: TrackingGeometry.cxx:90
Trk::TrackingVolume::confinedDetachedVolumes
ArraySpan< DetachedTrackingVolume const *const > confinedDetachedVolumes() const
Return detached subVolumes - not the ownership.
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
Trk::TrackingVolume::indexContainedMaterialLayers
void indexContainedMaterialLayers(GeometrySignature geoSig, int &offset)
reIndex the material layers of the TrackingVolume
Definition: TrackingVolume.cxx:864
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
Trk::TrackingGeometry::dumpLayer
static void dumpLayer(MsgStream &out, const std::string &head, const Layer *layer)
Definition: TrackingGeometry.cxx:330
Trk::TrackingGeometry::highestTrackingVolume
const TrackingVolume * highestTrackingVolume() const
return the world
Trk::Surface::isOnSurface
virtual bool isOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const
This method returns true if the GlobalPosition is on the Surface for both, within or without check of...
Definition: Surface.cxx:123
Trk::TrackingVolume::indexContainedStaticLayers
void indexContainedStaticLayers(GeometrySignature geoSig, int &offset)
reIndex the static layers of the TrackingVolume
Definition: TrackingVolume.cxx:817
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
Trk::Layer::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const =0
Transforms the layer into a Surface representation for extrapolation.
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:36
Trk::TrackingVolume::assocDetachedSubVolumes
std::vector< const DetachedTrackingVolume * > assocDetachedSubVolumes(const Amg::Vector3D &gp, double tol) const
Return the associated detached subvolumes.
Definition: TrackingVolume.cxx:800
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
Trk::ArraySpan
std::span< T > ArraySpan
Definition: DetachedTrackingVolume.h:34
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
Trk::TrackingVolume::confinedDenseVolumes
ArraySpan< TrackingVolume const *const > confinedDenseVolumes() const
Return unordered subVolumes - not the ownership.
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
Trk::TrackingGeometry::lowestStaticTrackingVolume
const TrackingVolume * lowestStaticTrackingVolume(const Amg::Vector3D &gp) const
return the lowest static tracking Volume
Definition: TrackingGeometry.cxx:77
Trk::TrackingVolume::synchronizeLayers
void synchronizeLayers(MsgStream &msgstream, double envelope=1.)
method to synchronize the layers with potentially updated volume bounds:
Definition: TrackingVolume.cxx:1427
AnalysisUtils::copy_if
Out copy_if(In first, const In &last, Out res, const Pred &p)
Definition: IFilterUtils.h:30
Trk::Surface::materialLayer
const Trk::Layer * materialLayer() const
return the material Layer
WriteCalibToCool.swap
swap
Definition: WriteCalibToCool.py:94
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::TGOwn
@ TGOwn
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:55
head
std::string head(std::string s, const std::string &pattern)
head of a string
Definition: computils.cxx:310
Trk::TrackingVolume::volumeName
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
Trk::BinnedArray::arrayObjects
virtual BinnedArraySpan< T *const > arrayObjects()=0
Return all objects of the Array non-const we can still modify the T.
Trk::TrackingGeometry::m_navigationLevel
NavigationLevel m_navigationLevel
The Navigation level for identification.
Definition: TrackingGeometry.h:213
Trk::TrackingGeometry::m_detachedVolGarbage
std::vector< std::shared_ptr< DetachedTrackingVolume > > m_detachedVolGarbage
keep ownership of MuonTrackingGeometry elements in here
Definition: TrackingGeometry.h:217
Trk::TrackingVolume::confinedVolumes
const TrackingVolumeArray * confinedVolumes() const
Return the subLayer array.
Trk::TrackingVolume::setMotherVolume
void setMotherVolume(const TrackingVolume *mvol)
set the MotherVolume
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:1455
Trk::TrackingGeometry::m_trkVolumeGarbage
std::vector< std::shared_ptr< TrackingVolume > > m_trkVolumeGarbage
Definition: TrackingGeometry.h:218
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
Trk::TrackingGeometry::printVolumeInformation
void printVolumeInformation(MsgStream &msgstream, const TrackingVolume &tvol, int lvl) const
print VolumeInformation with Level
Definition: TrackingGeometry.cxx:189
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
Trk::BinnedArray
Definition: BinnedArray.h:38
test_pyathena.counter
counter
Definition: test_pyathena.py:15
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::BinnedArraySpan
std::span< T > BinnedArraySpan
Definition: BinnedArray.h:34
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
Trk::TrackingGeometry::m_trackingVolumes
std::map< const std::string, const TrackingVolume * > m_trackingVolumes
The Volumes in a map for later finding.
Definition: TrackingGeometry.h:210
Trk::Layer
Definition: Layer.h:73