ATLAS Offline Software
Loading...
Searching...
No Matches
TrackingVolumesSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrackingVolumesSvc.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRINTERFACES_TRACKINGVOLUMESSERVICE_H
10#define TRKDETDESCRINTERFACES_TRACKINGVOLUMESSERVICE_H
11
14#include "GaudiKernel/ToolHandle.h"
15#include "GaudiKernel/ServiceHandle.h"
18#include <string>
19#include <vector>
20
21class StoreGateSvc;
22class ISvcLocator;
23
24template <class TYPE> class SvcFactory;
25
26
27namespace Trk {
28
29 class Volume;
30
31
39 class TrackingVolumesSvc : public extends<AthService, ITrackingVolumesSvc> {
40
41 public:
42
43 virtual StatusCode initialize() override;
44 virtual StatusCode finalize() override;
45
47 virtual const Trk::Volume& volume(const TrackingVolumeIdentifier& volumeId) const override;
48
50 virtual const std::string& volumeName(const TrackingVolumeIdentifier& volumeId) const override;
51
53 TrackingVolumesSvc(const std::string& name, ISvcLocator* svc);
54
57
58
59 private:
60
62
64 std::vector<const Trk::Volume*> m_volumes;
66 std::vector<std::string > m_volumeNames;
67
68 };
69}
70
73
75 { return m_volumeNames[volumeId]; }
76
77#endif
78
defines and typedefs for IOVSvc
The Athena Transient Store API.
TrackingVolumeIdentifier
Enum to identify the various "volumes" which exist.
TrackingVolumesSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
virtual const Trk::Volume & volume(const TrackingVolumeIdentifier &volumeId) const override
Provide the TrackingVolumes.
virtual const std::string & volumeName(const TrackingVolumeIdentifier &volumeId) const override
Returns the name of the TrackingVolumes built with this Svc.
virtual StatusCode initialize() override
Initialize Service.
virtual StatusCode finalize() override
Finalize Service.
virtual ~TrackingVolumesSvc()
Standard Destructor.
std::vector< std::string > m_volumeNames
the names of the TrackingVolumes
std::vector< const Trk::Volume * > m_volumes
ServiceHandle< StoreGateSvc > m_pDetStore
the cached volumes
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Definition Volume.h:36
Ensure that the ATLAS eigen extensions are properly loaded.