ATLAS Offline Software
Loading...
Searching...
No Matches
HRoute.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 HRoute_H
6#define HRoute_H
7
8#include "Route.h"
9#include <vector>
10
11class ServiceVolume;
12
13class HRoute : public Route {
14public:
15
16 typedef std::vector<ServiceVolume*> VolumeContainer;
17
18 HRoute() : Route() {}
19 HRoute( double r, double zmi, double zma, double zexit, const std::string& name) :
20 Route(name),
21 m_radius(r), m_zMin(zmi), m_zMax(zma), m_zExit(zexit), m_next(0) {}
22
23 double zMin() const {return m_zMin;}
24 double zMax() const {return m_zMax;}
25 double radius() const {return m_radius;}
26 double zExit() const {return m_zExit;}
27
28 virtual double position() const {return radius();}
29
30 virtual double exit() const {return zExit();}
31
32 virtual Route* nextRoute() {return m_next;}
33
34 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
40private:
41
42 double m_radius{};
43 double m_zMin{};
44 double m_zMax{};
45 double m_zExit{};
47
49
50};
51
52#endif
virtual void setNextRoute(Route *nr)
Definition HRoute.h:38
double radius() const
Definition HRoute.h:25
virtual double position() const
Definition HRoute.h:28
double m_zMin
Definition HRoute.h:43
virtual Route * nextRoute()
Definition HRoute.h:32
Route * m_next
Definition HRoute.h:46
double zExit() const
Definition HRoute.h:26
std::vector< ServiceVolume * > VolumeContainer
Definition HRoute.h:16
double zMin() const
Definition HRoute.h:23
double m_zMax
Definition HRoute.h:44
double m_zExit
Definition HRoute.h:45
virtual void addVolume(ServiceVolume *vol)
Definition HRoute.h:36
HRoute(double r, double zmi, double zma, double zexit, const std::string &name)
Definition HRoute.h:19
VolumeContainer m_volumes
Definition HRoute.h:48
double zMax() const
Definition HRoute.h:24
virtual double exit() const
Definition HRoute.h:30
HRoute()
Definition HRoute.h:18
double m_radius
Definition HRoute.h:42
const VolumeContainer & volumes() const
Definition HRoute.h:34
Route()
Definition Route.h:25
const std::string & name() const
Definition Route.h:42
int r
Definition globals.cxx:22