ATLAS Offline Software
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 
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 
55 private:
56 
58  std::string m_name;
59 
60 };
61 
62 #endif
ServiceVolume
Definition: InDetServMatGeoModel/src/ServiceVolume.h:14
Route::m_exitVolume
ServiceVolume * m_exitVolume
Definition: Route.h:57
Route::exitVolume
virtual ServiceVolume * exitVolume(bool ascending, MsgStream &msg) const
Definition: Route.cxx:51
Route::name
const std::string & name() const
Definition: Route.h:42
Route::~Route
virtual ~Route()
Definition: Route.h:28
Route::m_name
std::string m_name
Definition: Route.h:58
Route::Route
Route(const std::string &name)
Definition: Route.h:26
Route::setNextRoute
virtual void setNextRoute(Route *nr)=0
Route::entryVolume
virtual ServiceVolume * entryVolume(double pos, bool ascending, MsgStream &msg) const
Definition: Route.cxx:10
Route::Route
Route()
Definition: Route.h:25
python.TriggerAPI.TriggerAPISession.ascending
ascending
Definition: TriggerAPISession.py:360
Route::nextRoute
virtual Route * nextRoute()=0
Route
Definition: Route.h:15
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Route::VolumeContainer
std::vector< ServiceVolume * > VolumeContainer
Definition: Route.h:18
Route::setExitVolume
void setExitVolume(ServiceVolume *vp)
Definition: Route.h:50
Route::volumes
virtual const VolumeContainer & volumes() const =0
Route::position
virtual double position() const =0
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
Route::addVolume
virtual void addVolume(ServiceVolume *vol)=0
Route::exit
virtual double exit() const =0