ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
InDetServMatGeoModel
src
Route.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef Route_H
6
#define Route_H
7
8
#include "GaudiKernel/MsgStream.h"
9
10
#include <vector>
11
#include <string>
12
13
class
ServiceVolume
;
14
15
class
Route
{
16
public
:
17
18
typedef
std::vector<ServiceVolume*>
VolumeContainer
;
19
20
virtual
ServiceVolume
*
entryVolume
(
double
pos,
bool
ascending, MsgStream&
msg
)
const
;
21
22
virtual
ServiceVolume
*
exitVolume
(
bool
ascending, MsgStream&
msg
)
const
;
23
24
25
Route
():
m_exitVolume
(0) {}
26
Route
(
const
std::string&
name
):
m_exitVolume
(0),
m_name
(
name
) {}
27
28
virtual
~Route
() {}
29
30
virtual
double
position
()
const
= 0;
31
32
virtual
double
exit
()
const
= 0;
33
34
//virtual int direction() = 0;
35
36
virtual
Route
*
nextRoute
() = 0;
37
38
virtual
const
VolumeContainer
&
volumes
()
const
= 0;
39
40
virtual
void
setNextRoute
(
Route
* nr) = 0;
41
42
const
std::string&
name
()
const
{
return
m_name
;}
43
44
// virtual ServiceVolume* entryVolume( double pos) const = 0;
45
46
// virtual ServiceVolume* exitVolume() const = 0;
47
48
virtual
void
addVolume
(
ServiceVolume
* vol) = 0;
49
50
void
setExitVolume
(
ServiceVolume
* vp) {
51
m_exitVolume
= vp;
52
addVolume
(vp);
53
}
54
55
private
:
56
57
ServiceVolume
*
m_exitVolume
;
58
std::string
m_name
;
59
60
};
61
62
#endif
Route::position
virtual double position() const =0
Route::VolumeContainer
std::vector< ServiceVolume * > VolumeContainer
Definition
Route.h:18
Route::setNextRoute
virtual void setNextRoute(Route *nr)=0
Route::Route
Route()
Definition
Route.h:25
Route::nextRoute
virtual Route * nextRoute()=0
Route::name
const std::string & name() const
Definition
Route.h:42
Route::setExitVolume
void setExitVolume(ServiceVolume *vp)
Definition
Route.h:50
Route::m_exitVolume
ServiceVolume * m_exitVolume
Definition
Route.h:57
Route::entryVolume
virtual ServiceVolume * entryVolume(double pos, bool ascending, MsgStream &msg) const
Definition
Route.cxx:10
Route::m_name
std::string m_name
Definition
Route.h:58
Route::exitVolume
virtual ServiceVolume * exitVolume(bool ascending, MsgStream &msg) const
Definition
Route.cxx:51
Route::exit
virtual double exit() const =0
Route::addVolume
virtual void addVolume(ServiceVolume *vol)=0
Route::volumes
virtual const VolumeContainer & volumes() const =0
Route::~Route
virtual ~Route()
Definition
Route.h:28
Route::Route
Route(const std::string &name)
Definition
Route.h:26
ServiceVolume
Definition
InDetServMatGeoModel/src/ServiceVolume.h:14
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0