ATLAS Offline Software
InnerDetector
InDetDetDescr
InDetServMatGeoModel
src
VRoute.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef VRoute_H
6
#define VRoute_H
7
8
#include "
Route.h
"
9
#include <vector>
10
11
class
ServiceVolume
;
12
13
class
VRoute
:
public
Route
{
14
public
:
15
16
typedef
std::vector<ServiceVolume*>
VolumeContainer
;
17
18
VRoute
() :
Route
() {}
19
VRoute
(
double
z
,
double
rmi,
double
rma,
double
rexit,
const
std::string&
name
):
20
Route
(
name
),
21
m_zPos
(
z
),
m_rMin
(rmi),
m_rMax
(rma),
m_rExit
(rexit),
m_next
(0){}
22
23
double
rMin
()
const
{
return
m_rMin
;}
24
double
rMax
()
const
{
return
m_rMax
;}
25
double
zPos
()
const
{
return
m_zPos
;}
26
double
rExit
()
const
{
return
m_rExit
;}
27
28
virtual
double
position
()
const
{
return
zPos
();}
29
30
virtual
double
exit
()
const
{
return
rExit
();}
31
32
virtual
Route
*
nextRoute
() {
return
m_next
;}
33
34
virtual
const
VolumeContainer
&
volumes
()
const
{
return
m_volumes
;}
35
36
virtual
void
addVolume
(
ServiceVolume
* vol) {
m_volumes
.push_back(vol);}
37
38
virtual
void
setNextRoute
(
Route
* nr) {
m_next
= nr;}
39
/*
40
virtual ServiceVolume* entryVolume( double pos) const {
41
// FIXME - too simple, for tests only
42
if (volumes().empty()) return 0;
43
if (volumes().front()->contains(pos)) return volumes().front();
44
else if (volumes().back()->contains(pos)) return volumes().back();
45
else {
46
//should iterate to find exit volume
47
return 0; // FIXME
48
}
49
}
50
51
virtual ServiceVolume* exitVolume() const;
52
*/
53
private
:
54
55
double
m_zPos
{};
56
double
m_rMin
{};
57
double
m_rMax
{};
58
double
m_rExit
{};
59
Route
*
m_next
{};
60
61
VolumeContainer
m_volumes
;
62
};
63
64
#endif
VRoute::m_next
Route * m_next
Definition:
VRoute.h:59
ServiceVolume
Definition:
InDetServMatGeoModel/src/ServiceVolume.h:14
VRoute::rMax
double rMax() const
Definition:
VRoute.h:24
VRoute::m_zPos
double m_zPos
Definition:
VRoute.h:55
VRoute::rExit
double rExit() const
Definition:
VRoute.h:26
VRoute
Definition:
VRoute.h:13
VRoute::m_rExit
double m_rExit
Definition:
VRoute.h:58
VRoute::setNextRoute
virtual void setNextRoute(Route *nr)
Definition:
VRoute.h:38
Route::name
const std::string & name() const
Definition:
Route.h:42
VRoute::zPos
double zPos() const
Definition:
VRoute.h:25
VRoute::VRoute
VRoute(double z, double rmi, double rma, double rexit, const std::string &name)
Definition:
VRoute.h:19
VRoute::VRoute
VRoute()
Definition:
VRoute.h:18
VRoute::addVolume
virtual void addVolume(ServiceVolume *vol)
Definition:
VRoute.h:36
VRoute::VolumeContainer
std::vector< ServiceVolume * > VolumeContainer
Definition:
VRoute.h:16
VRoute::nextRoute
virtual Route * nextRoute()
Definition:
VRoute.h:32
Route.h
z
#define z
VRoute::m_rMin
double m_rMin
Definition:
VRoute.h:56
VRoute::m_rMax
double m_rMax
Definition:
VRoute.h:57
VRoute::rMin
double rMin() const
Definition:
VRoute.h:23
VRoute::m_volumes
VolumeContainer m_volumes
Definition:
VRoute.h:61
Route
Definition:
Route.h:15
VRoute::position
virtual double position() const
Definition:
VRoute.h:28
Route::VolumeContainer
std::vector< ServiceVolume * > VolumeContainer
Definition:
Route.h:18
VRoute::volumes
virtual const VolumeContainer & volumes() const
Definition:
VRoute.h:34
VRoute::exit
virtual double exit() const
Definition:
VRoute.h:30
Generated on Sun Dec 22 2024 21:22:40 for ATLAS Offline Software by
1.8.18