ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkGeometry
TrkGeometry
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
13
#include "
TrkDetDescrUtils/BinnedArray.h
"
14
#include <memory>
15
#include "
TrkVolumes/BoundarySurface.h
"
16
#include "
TrkVolumes/BoundarySurfaceFace.h
"
17
18
namespace
Trk
{
19
20
class
TrackingVolume
;
21
30
31
class
TrackingVolumeManipulator
32
{
33
public
:
35
TrackingVolumeManipulator
() {}
37
~TrackingVolumeManipulator
() {}
38
39
protected
:
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,
56
BoundarySurfaceFace
face);
57
63
static
void
setInsideVolume
(
TrackingVolume
& tvol,
64
BoundarySurfaceFace
face,
65
TrackingVolume
* insidevol);
66
72
static
void
setInsideVolumeArray
(
73
TrackingVolume
& tvol,
74
BoundarySurfaceFace
face,
75
const
std::shared_ptr<
BinnedArray<TrackingVolume>
>& insidevolarray);
76
82
static
void
setOutsideVolume
(
TrackingVolume
& tvol,
83
BoundarySurfaceFace
face,
84
TrackingVolume
* outsidevol);
85
91
static
void
setOutsideVolumeArray
(
92
TrackingVolume
& tvol,
93
BoundarySurfaceFace
face,
94
const
std::shared_ptr<
BinnedArray<TrackingVolume>
>& outsidevolarray);
95
100
static
void
confineVolume
(
TrackingVolume
& tvol,
TrackingVolume
* outsidevol);
101
};
102
}
// namespace Trk
103
104
#endif
BinnedArray.h
BoundarySurfaceFace.h
BoundarySurface.h
Trk::BinnedArray
Binned Array for avoiding map searches/.
Definition
BinnedArray.h:36
Trk::BoundarySurface
Description of a BoundarySurface inside the tracking realm, it extends the Surface description to mak...
Definition
BoundarySurface.h:43
Trk::TrackingVolumeManipulator::setBoundarySurface
static void setBoundarySurface(TrackingVolume &tvol, std::shared_ptr< BoundarySurface< TrackingVolume > > bsurf, BoundarySurfaceFace face)
protected method to set the boundary surface of a tracking volume
Definition
TrackingVolumeManipulator.cxx:43
Trk::TrackingVolumeManipulator::setOutsideVolumeArray
static void setOutsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, const std::shared_ptr< BinnedArray< TrackingVolume > > &outsidevolarray)
protected method to set outside VolumeArray of a BoundarySurface: input:
Definition
TrackingVolumeManipulator.cxx:80
Trk::TrackingVolumeManipulator::confineVolume
static void confineVolume(TrackingVolume &tvol, TrackingVolume *outsidevol)
protected method to confine (dense) volumes: input:
Definition
TrackingVolumeManipulator.cxx:90
Trk::TrackingVolumeManipulator::setInsideVolumeArray
static void setInsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, const std::shared_ptr< BinnedArray< TrackingVolume > > &insidevolarray)
protected method to set inside VolumeArray of a BoundarySurface: input:
Definition
TrackingVolumeManipulator.cxx:61
Trk::TrackingVolumeManipulator::glueVolumes
void glueVolumes(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace) const
protected method to glue two Volumes together input:
Definition
TrackingVolumeManipulator.cxx:17
Trk::TrackingVolumeManipulator::TrackingVolumeManipulator
TrackingVolumeManipulator()
constructor
Definition
TrackingVolumeManipulator.h:35
Trk::TrackingVolumeManipulator::~TrackingVolumeManipulator
~TrackingVolumeManipulator()
Destructor.
Definition
TrackingVolumeManipulator.h:37
Trk::TrackingVolumeManipulator::setOutsideVolume
static void setOutsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol)
protected method to set outside Volume of a BoundarySurface: input:
Definition
TrackingVolumeManipulator.cxx:71
Trk::TrackingVolumeManipulator::setInsideVolume
static void setInsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol)
protected method to set inside Volume of a BoundarySurface: input:
Definition
TrackingVolumeManipulator.cxx:52
Trk::TrackingVolume
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Definition
TrackingVolume.h:119
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::BoundarySurfaceFace
BoundarySurfaceFace
Enum to describe the position of the BoundarySurface respectively to the frame orientatin of the volu...
Definition
BoundarySurfaceFace.h:31
Generated on
for ATLAS Offline Software by
1.17.0