ATLAS Offline Software
Loading...
Searching...
No Matches
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
15class Routing2 : public AthMessaging {
16public:
17
19
20 Routing2();
21
23
24 const std::vector<ServiceVolume*>& volumes() const {return m_volumes;}
25
26private:
27
31
32 int m_c_nInnerPixelLayers; // FIXME: should come from tracker geometry
33
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
67 double eosTolerance( DetType::Type type, DetType::Part part) const;
68 double eosLength( DetType::Type type, DetType::Part part) const;
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);
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
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition Route.h:15
HRoute m_MSTinside_HRoute
Definition Routing2.h:60
HRoute m_epHRoute
Definition Routing2.h:50
void routeBarrelLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker &tracker, VRoute &route)
Definition Routing2.cxx:303
VRoute m_bpVRoute
Definition Routing2.h:48
void createRoutesInIST(ServicesTracker &tracker)
Definition Routing2.cxx:189
std::string nextVolumeName(const Route &route) const
Definition Routing2.cxx:586
void routeOuterBarrelPixel(ServicesTracker &tracker)
Definition Routing2.cxx:225
HRoute m_MSTI_HRoute
Definition Routing2.h:65
HRoute m_pixelH2Route
Definition Routing2.h:53
HRoute m_istHRoute
Definition Routing2.h:57
void routeInnerBarrelPixel(ServicesTracker &tracker)
Definition Routing2.cxx:295
HRoute m_bpHRoute
Definition Routing2.h:49
double m_c_bsEosLength
Definition Routing2.h:36
const std::vector< ServiceVolume * > & volumes() const
Definition Routing2.h:24
bool m_ISTexists
Definition Routing2.h:30
HRoute m_MSTM_HRouteInner
Definition Routing2.h:64
HRoute m_MSTM_HRoute
Definition Routing2.h:63
ServicesTracker::LayerContainer LayerContainer
Definition Routing2.h:18
double eosHalfThickness(DetType::Type type, DetType::Part part) const
Definition Routing2.cxx:572
void createRoutingVolumes(ServicesTracker &tracker)
Definition Routing2.cxx:36
double m_c_epEosLength
Definition Routing2.h:35
void connect(ServiceVolume *prev, ServiceVolume *newv)
Definition Routing2.cxx:505
VRoute m_istVRoute
Definition Routing2.h:56
double m_c_EosTolerance
Definition Routing2.h:39
double m_c_EosTolerance2
Definition Routing2.h:41
double eosLength(DetType::Type type, DetType::Part part) const
Definition Routing2.cxx:558
VRoute m_bsVRoute
Definition Routing2.h:55
void connectRoutes(Route &in, Route &out)
Definition Routing2.cxx:513
void routeEndcapPixel(ServicesTracker &tracker)
Definition Routing2.cxx:242
bool m_routePixelBarrelOnPST
Definition Routing2.h:28
HRoute m_MSTO_HRoute
Definition Routing2.h:62
double eosTolerance(DetType::Type type, DetType::Part part) const
Definition Routing2.cxx:553
void routeEndcapLayer(LayerContainer::const_iterator bl, LayerContainer::const_iterator blend, ServicesTracker &tracker, HRoute &route)
Definition Routing2.cxx:349
void addVolume(ServiceVolume *v)
Definition Routing2.h:85
double m_c_halfEosThick
Definition Routing2.h:40
void dumpRoute(const Route &route)
Definition Routing2.cxx:577
double m_c_ServiceCylinderThickness
Definition Routing2.h:43
double m_c_bpEosLength
Definition Routing2.h:34
double m_c_safetyGap
Definition Routing2.h:37
bool m_pixelAlongBarrelStrip
Definition Routing2.h:29
void createOuterPixelRoutes(ServicesTracker &tracker)
Definition Routing2.cxx:172
HRoute m_ISTouter_HRoute
Definition Routing2.h:59
ServiceVolume * createSingleRouteVolume(Route &rt)
Definition Routing2.cxx:532
std::vector< ServiceVolume * > m_volumes
Definition Routing2.h:46
void routeBarrelStrip(ServicesTracker &tracker)
Definition Routing2.cxx:234
int m_c_nInnerPixelLayers
Definition Routing2.h:32
VRoute m_pixelV2Route
Definition Routing2.h:52
double m_c_LayerLengthTolerance
Definition Routing2.h:44
double m_c_ServiceDiskThickness
Definition Routing2.h:42
bool isRoutedOutsideSupportTube(LayerContainer::const_iterator bl, HRoute &route)
Definition Routing2.cxx:290
void createRoutes(ServicesTracker &tracker)
Definition Routing2.cxx:75
std::vector< ServicesLayer * > LayerContainer