ATLAS Offline Software
ServicesTracker.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_SERVICESTRACKER_H
6 #define INDETSERVMATGEOMODEL_SERVICESTRACKER_H
7 
8 #include "DetType.h"
9 #include "ServiceMaterial.h"
11 #include <vector>
12 #include <map>
13 #include <string>
14 
15 class ServiceVolume;
16 class ServicesLayer;
18 
19 class ServicesTracker : public AthMessaging {
20 public:
21 
25 
26  typedef std::vector<ServicesLayer*> LayerContainer;
27 
29 
30  void finaliseServices();
31 
32  // barrel layers are sorted in radius from inside out
33  const LayerContainer& barrelLayers() const {return m_barrelLayers;}
35 
40 
41  const std::vector<ServiceVolume*>& serviceVolumes() const {return m_volumes;}
42 
43  // Called by Routing
44  void setServiceVolumes( const std::vector<ServiceVolume*>& vc) {m_volumes=vc;}
45 
46  // methods called by Builder
47  void constructBarrelLayer( double radius, double zHalfLength,
48  DetType::Type type, int num, int nstaves, const std::string& suffix,
49  int nModulesPerStave, int nChipsPerModule);
50  void constructEndcapLayer( double zpos, double rmin, double rmax,
51  DetType::Type type, int num, int nstaves, const std::string& suffix,
52  int nModulesPerStave, int nChipsPerModule);
53 
54  const InDetServMatGeometryManager* geoMgr() const {return m_geoMgr;}
55 
57 
58 private:
59 
65 
66  std::vector<ServiceVolume*> m_volumes;
67 
69 
70  void add( std::map<std::string, double>& res, const std::string& name, double len);
71  void addEosMaterial( const ServiceVolume& vol, std::vector<ServiceMaterial>& result);
72 };
73 
74 #endif
ServicesTracker::m_barrelLayers
LayerContainer m_barrelLayers
Definition: ServicesTracker.h:60
ServiceVolume
Definition: InDetServMatGeoModel/src/ServiceVolume.h:14
ServicesTracker::barrelPixelLayers
LayerContainer & barrelPixelLayers()
Definition: ServicesTracker.h:36
ServicesTracker::endcapPixelLayers
LayerContainer & endcapPixelLayers()
Definition: ServicesTracker.h:37
get_generator_info.result
result
Definition: get_generator_info.py:21
hotSpotInTAG.suffix
string suffix
Definition: hotSpotInTAG.py:186
ServicesTracker::constructBarrelLayer
void constructBarrelLayer(double radius, double zHalfLength, DetType::Type type, int num, int nstaves, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
Definition: ServicesTracker.cxx:37
ServicesTracker::m_geoMgr
const InDetServMatGeometryManager * m_geoMgr
Definition: ServicesTracker.h:68
ServicesTracker::computeServicesPerLayer
void computeServicesPerLayer()
Definition: ServicesTracker.cxx:65
ServicesTracker::geoMgr
const InDetServMatGeometryManager * geoMgr() const
Definition: ServicesTracker.h:54
ServicesTracker::m_endcapPixelLayers
LayerContainer m_endcapPixelLayers
Definition: ServicesTracker.h:62
ServicesTracker::m_barrelStripLayers
LayerContainer m_barrelStripLayers
Definition: ServicesTracker.h:63
ServicesLayer
Definition: ServicesLayer.h:13
DetType.h
ServicesTracker::setServiceVolumes
void setServiceVolumes(const std::vector< ServiceVolume * > &vc)
Definition: ServicesTracker.h:44
ServicesTracker::~ServicesTracker
~ServicesTracker()
Definition: ServicesTracker.cxx:26
ServicesTracker::m_endcapStripLayers
LayerContainer m_endcapStripLayers
Definition: ServicesTracker.h:64
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
ServiceMaterial.h
ServicesTracker::m_barrelPixelLayers
LayerContainer m_barrelPixelLayers
Definition: ServicesTracker.h:61
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
ServicesTracker::barrelStripLayers
LayerContainer & barrelStripLayers()
Definition: ServicesTracker.h:38
ServicesTracker::constructEndcapLayer
void constructEndcapLayer(double zpos, double rmin, double rmax, DetType::Type type, int num, int nstaves, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
Definition: ServicesTracker.cxx:51
ServicesTracker::add
void add(std::map< std::string, double > &res, const std::string &name, double len)
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
DetType::Type
Type
Definition: DetType.h:13
ServicesTracker::setGeoMgr
void setGeoMgr(const InDetServMatGeometryManager *mgr)
Definition: ServicesTracker.h:56
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
ServicesTracker
Definition: ServicesTracker.h:19
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthMessaging.h
ServicesTracker::m_volumes
std::vector< ServiceVolume * > m_volumes
Definition: ServicesTracker.h:66
ServicesTracker::LayerContainer
std::vector< ServicesLayer * > LayerContainer
Definition: ServicesTracker.h:26
InDetServMatGeometryManager
Definition: InDetServMatGeometryManager.h:17
ServicesTracker::barrelLayers
LayerContainer & barrelLayers()
Definition: ServicesTracker.h:34
ServicesTracker::barrelLayers
const LayerContainer & barrelLayers() const
Definition: ServicesTracker.h:33
ServicesTracker::addEosMaterial
void addEosMaterial(const ServiceVolume &vol, std::vector< ServiceMaterial > &result)
Definition: ServicesTracker.cxx:116
ServicesTracker::ServicesTracker
ServicesTracker()
Construct an empty tracker, to be filled by Builder.
Definition: ServicesTracker.cxx:15
ServicesTracker::endcapStripLayers
LayerContainer & endcapStripLayers()
Definition: ServicesTracker.h:39
ServicesTracker::serviceVolumes
const std::vector< ServiceVolume * > & serviceVolumes() const
Definition: ServicesTracker.h:41
ServicesTracker::finaliseServices
void finaliseServices()
Definition: ServicesTracker.cxx:72