ATLAS Offline Software
Loading...
Searching...
No Matches
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
13class ServiceVolume;
14
15class Route {
16public:
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
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
51 m_exitVolume = vp;
52 addVolume(vp);
53 }
54
55private:
56
58 std::string m_name;
59
60};
61
62#endif
virtual double position() const =0
std::vector< ServiceVolume * > VolumeContainer
Definition Route.h:18
virtual void setNextRoute(Route *nr)=0
Route()
Definition Route.h:25
virtual Route * nextRoute()=0
const std::string & name() const
Definition Route.h:42
void setExitVolume(ServiceVolume *vp)
Definition Route.h:50
ServiceVolume * m_exitVolume
Definition Route.h:57
virtual ServiceVolume * entryVolume(double pos, bool ascending, MsgStream &msg) const
Definition Route.cxx:10
std::string m_name
Definition Route.h:58
virtual ServiceVolume * exitVolume(bool ascending, MsgStream &msg) const
Definition Route.cxx:51
virtual double exit() const =0
virtual void addVolume(ServiceVolume *vol)=0
virtual const VolumeContainer & volumes() const =0
virtual ~Route()
Definition Route.h:28
Route(const std::string &name)
Definition Route.h:26
MsgStream & msg
Definition testRead.cxx:32