ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingVolumeManipulator.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// TrackingVolumeManipulator.h, (c) ATLAS Detector software
8
9#ifndef TRKGEOMETRY_TRACKINGVOLUMEMANIPULATOR_H
10#define TRKGEOMETRY_TRACKINGVOLUMEMANIPULATOR_H
11
12// Trk
14#include <memory>
17
18namespace Trk {
19
20class TrackingVolume;
21
30
32{
33public:
38
39protected:
47 void glueVolumes(TrackingVolume& firstVol,
48 BoundarySurfaceFace firstFace,
49 TrackingVolume& secondVol,
50 BoundarySurfaceFace secondFace) const;
51
53 static void setBoundarySurface(
54 TrackingVolume& tvol,
55 std::shared_ptr<BoundarySurface<TrackingVolume>> bsurf,
57
63 static void setInsideVolume(TrackingVolume& tvol,
65 TrackingVolume* insidevol);
66
72 static void setInsideVolumeArray(
73 TrackingVolume& tvol,
75 const std::shared_ptr<BinnedArray<TrackingVolume>>& insidevolarray);
76
82 static void setOutsideVolume(TrackingVolume& tvol,
84 TrackingVolume* outsidevol);
85
91 static void setOutsideVolumeArray(
92 TrackingVolume& tvol,
94 const std::shared_ptr<BinnedArray<TrackingVolume>>& outsidevolarray);
95
100 static void confineVolume(TrackingVolume& tvol, TrackingVolume* outsidevol);
101};
102} // namespace Trk
103
104#endif
Binned Array for avoiding map searches/.
Definition BinnedArray.h:36
Description of a BoundarySurface inside the tracking realm, it extends the Surface description to mak...
static void setBoundarySurface(TrackingVolume &tvol, std::shared_ptr< BoundarySurface< TrackingVolume > > bsurf, BoundarySurfaceFace face)
protected method to set the boundary surface of a tracking volume
static void setOutsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, const std::shared_ptr< BinnedArray< TrackingVolume > > &outsidevolarray)
protected method to set outside VolumeArray of a BoundarySurface: input:
static void confineVolume(TrackingVolume &tvol, TrackingVolume *outsidevol)
protected method to confine (dense) volumes: input:
static void setInsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, const std::shared_ptr< BinnedArray< TrackingVolume > > &insidevolarray)
protected method to set inside VolumeArray of a BoundarySurface: input:
void glueVolumes(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace) const
protected method to glue two Volumes together input:
static void setOutsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol)
protected method to set outside Volume of a BoundarySurface: input:
static void setInsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol)
protected method to set inside Volume of a BoundarySurface: input:
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.
BoundarySurfaceFace
Enum to describe the position of the BoundarySurface respectively to the frame orientatin of the volu...