ATLAS Offline Software
Loading...
Searching...
No Matches
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
15class ServiceVolume;
16class ServicesLayer;
18
20public:
21
25
26 typedef std::vector<ServicesLayer*> LayerContainer;
27
29
30 void finaliseServices();
31
32 // barrel layers are sorted in radius from inside out
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
55
57
58private:
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
std::pair< std::vector< unsigned int >, bool > res
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
const LayerContainer & barrelLayers() const
void constructEndcapLayer(double zpos, double rmin, double rmax, DetType::Type type, int num, int nstaves, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
LayerContainer m_barrelStripLayers
LayerContainer & barrelStripLayers()
LayerContainer m_barrelLayers
LayerContainer m_endcapPixelLayers
void setGeoMgr(const InDetServMatGeometryManager *mgr)
std::vector< ServiceVolume * > m_volumes
LayerContainer & barrelLayers()
LayerContainer m_barrelPixelLayers
LayerContainer & endcapPixelLayers()
ServicesTracker()
Construct an empty tracker, to be filled by Builder.
const InDetServMatGeometryManager * m_geoMgr
void addEosMaterial(const ServiceVolume &vol, std::vector< ServiceMaterial > &result)
LayerContainer & barrelPixelLayers()
LayerContainer & endcapStripLayers()
void setServiceVolumes(const std::vector< ServiceVolume * > &vc)
const InDetServMatGeometryManager * geoMgr() const
LayerContainer m_endcapStripLayers
void add(std::map< std::string, double > &res, const std::string &name, double len)
void constructBarrelLayer(double radius, double zHalfLength, DetType::Type type, int num, int nstaves, const std::string &suffix, int nModulesPerStave, int nChipsPerModule)
const std::vector< ServiceVolume * > & serviceVolumes() const
std::vector< ServicesLayer * > LayerContainer