ATLAS Offline Software
Routing2.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETSERVMATGEOMODEL_ROUTING2_H
6 #define INDETSERVMATGEOMODEL_ROUTING2_H
7 
8 #include "ServicesTracker.h"
9 #include "ServiceVolume.h"
10 #include "VRoute.h"
11 #include "HRoute.h"
13 #include <vector>
14 
15 class Routing2 : public AthMessaging {
16 public:
17 
19 
20  Routing2();
21 
23 
24  const std::vector<ServiceVolume*>& volumes() const {return m_volumes;}
25 
26 private:
27 
31 
32  int m_c_nInnerPixelLayers; // FIXME: should come from tracker geometry
33 
37  double m_c_safetyGap;
38 
45 
46  std::vector<ServiceVolume*> m_volumes;
47 
51 
54 
58 
59  HRoute m_ISTouter_HRoute; // Route running on outside of IST
60  HRoute m_MSTinside_HRoute; // Route running on outside of IST
61 
66 
70 
71  void connect( ServiceVolume* prev, ServiceVolume* newv);
72  void routeBarrelLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker& tracker, VRoute& route);
73  void routeEndcapLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker& tracker, HRoute& route);
74 
75  bool isRoutedOutsideSupportTube(LayerContainer::const_iterator bl, HRoute& route);
77  void routeEndcapPixel(ServicesTracker& tracker);
78  void routeBarrelStrip(ServicesTracker& tracker);
80 
81  void createRoutes(ServicesTracker& tracker);
82  void createRoutesInIST(ServicesTracker& tracker);
84 
85  void addVolume( ServiceVolume* v) { m_volumes.push_back( v);}
86 
88 
89  void connectRoutes( Route& in, Route& out);
90  void dumpRoute( const Route& route);
91  std::string nextVolumeName( const Route& route) const;
92 };
93 
94 #endif
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
Routing2::routeBarrelLayer
void routeBarrelLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker &tracker, VRoute &route)
Definition: Routing2.cxx:303
Routing2::m_c_EosTolerance
double m_c_EosTolerance
Definition: Routing2.h:39
ServiceVolume
Definition: InDetServMatGeoModel/src/ServiceVolume.h:14
Routing2::createSingleRouteVolume
ServiceVolume * createSingleRouteVolume(Route &rt)
Definition: Routing2.cxx:532
Routing2::routeInnerBarrelPixel
void routeInnerBarrelPixel(ServicesTracker &tracker)
Definition: Routing2.cxx:295
Routing2::m_bpHRoute
HRoute m_bpHRoute
Definition: Routing2.h:49
Routing2::m_MSTI_HRoute
HRoute m_MSTI_HRoute
Definition: Routing2.h:65
Routing2::createRoutesInIST
void createRoutesInIST(ServicesTracker &tracker)
Definition: Routing2.cxx:189
Routing2::m_bpVRoute
VRoute m_bpVRoute
Definition: Routing2.h:48
Routing2::eosHalfThickness
double eosHalfThickness(DetType::Type type, DetType::Part part) const
Definition: Routing2.cxx:572
Routing2::m_c_halfEosThick
double m_c_halfEosThick
Definition: Routing2.h:40
Routing2::m_c_ServiceCylinderThickness
double m_c_ServiceCylinderThickness
Definition: Routing2.h:43
VRoute
Definition: VRoute.h:13
ServiceVolume.h
Routing2::eosLength
double eosLength(DetType::Type type, DetType::Part part) const
Definition: Routing2.cxx:558
Routing2::m_pixelAlongBarrelStrip
bool m_pixelAlongBarrelStrip
Definition: Routing2.h:29
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Routing2::m_c_ServiceDiskThickness
double m_c_ServiceDiskThickness
Definition: Routing2.h:42
Routing2::m_c_EosTolerance2
double m_c_EosTolerance2
Definition: Routing2.h:41
Routing2::m_routePixelBarrelOnPST
bool m_routePixelBarrelOnPST
Definition: Routing2.h:28
Routing2::createRoutingVolumes
void createRoutingVolumes(ServicesTracker &tracker)
Definition: Routing2.cxx:36
Routing2::createOuterPixelRoutes
void createOuterPixelRoutes(ServicesTracker &tracker)
Definition: Routing2.cxx:172
Routing2::m_c_safetyGap
double m_c_safetyGap
Definition: Routing2.h:37
Routing2::nextVolumeName
std::string nextVolumeName(const Route &route) const
Definition: Routing2.cxx:586
Routing2::Routing2
Routing2()
Definition: Routing2.cxx:12
HRoute.h
Routing2::m_bsVRoute
VRoute m_bsVRoute
Definition: Routing2.h:55
ServicesTracker.h
Routing2::routeEndcapPixel
void routeEndcapPixel(ServicesTracker &tracker)
Definition: Routing2.cxx:242
Routing2::m_c_epEosLength
double m_c_epEosLength
Definition: Routing2.h:35
Routing2::m_pixelH2Route
HRoute m_pixelH2Route
Definition: Routing2.h:53
Routing2::m_ISTexists
bool m_ISTexists
Definition: Routing2.h:30
Routing2::m_c_nInnerPixelLayers
int m_c_nInnerPixelLayers
Definition: Routing2.h:32
Routing2::dumpRoute
void dumpRoute(const Route &route)
Definition: Routing2.cxx:577
Routing2::m_c_LayerLengthTolerance
double m_c_LayerLengthTolerance
Definition: Routing2.h:44
Routing2::m_MSTM_HRoute
HRoute m_MSTM_HRoute
Definition: Routing2.h:63
Routing2::routeBarrelStrip
void routeBarrelStrip(ServicesTracker &tracker)
Definition: Routing2.cxx:234
Routing2::m_istVRoute
VRoute m_istVRoute
Definition: Routing2.h:56
Routing2::routeOuterBarrelPixel
void routeOuterBarrelPixel(ServicesTracker &tracker)
Definition: Routing2.cxx:225
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
Routing2::m_MSTinside_HRoute
HRoute m_MSTinside_HRoute
Definition: Routing2.h:60
Routing2::m_MSTO_HRoute
HRoute m_MSTO_HRoute
Definition: Routing2.h:62
Routing2::m_pixelV2Route
VRoute m_pixelV2Route
Definition: Routing2.h:52
Routing2
Definition: Routing2.h:15
Routing2::m_MSTM_HRouteInner
HRoute m_MSTM_HRouteInner
Definition: Routing2.h:64
Routing2::addVolume
void addVolume(ServiceVolume *v)
Definition: Routing2.h:85
VRoute.h
DetType::Type
Type
Definition: DetType.h:13
Routing2::connect
void connect(ServiceVolume *prev, ServiceVolume *newv)
Definition: Routing2.cxx:505
Routing2::m_c_bsEosLength
double m_c_bsEosLength
Definition: Routing2.h:36
Route
Definition: Route.h:15
Routing2::eosTolerance
double eosTolerance(DetType::Type type, DetType::Part part) const
Definition: Routing2.cxx:553
Routing2::isRoutedOutsideSupportTube
bool isRoutedOutsideSupportTube(LayerContainer::const_iterator bl, HRoute &route)
Definition: Routing2.cxx:290
Routing2::routeEndcapLayer
void routeEndcapLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker &tracker, HRoute &route)
Definition: Routing2.cxx:349
python.PyAthena.v
v
Definition: PyAthena.py:157
ServicesTracker
Definition: ServicesTracker.h:19
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Routing2::m_c_bpEosLength
double m_c_bpEosLength
Definition: Routing2.h:34
AthMessaging.h
DetType::Part
Part
Definition: DetType.h:14
ServicesTracker::LayerContainer
std::vector< ServicesLayer * > LayerContainer
Definition: ServicesTracker.h:26
Routing2::m_epHRoute
HRoute m_epHRoute
Definition: Routing2.h:50
Routing2::m_istHRoute
HRoute m_istHRoute
Definition: Routing2.h:57
Routing2::createRoutes
void createRoutes(ServicesTracker &tracker)
Definition: Routing2.cxx:75
Routing2::volumes
const std::vector< ServiceVolume * > & volumes() const
Definition: Routing2.h:24
Routing2::connectRoutes
void connectRoutes(Route &in, Route &out)
Definition: Routing2.cxx:513
Routing2::LayerContainer
ServicesTracker::LayerContainer LayerContainer
Definition: Routing2.h:18
HRoute
Definition: HRoute.h:13
Routing2::m_ISTouter_HRoute
HRoute m_ISTouter_HRoute
Definition: Routing2.h:59
Routing2::m_volumes
std::vector< ServiceVolume * > m_volumes
Definition: Routing2.h:46