ATLAS Offline Software
Loading...
Searching...
No Matches
AGDDDetectorStore.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef AGDDDetectorStore_H
6#define AGDDDetectorStore_H
7
8class AGDDDetector;
10
11#include <map>
12#include <string>
13#include <vector>
14
15typedef std::map<std::string,AGDDDetector*> detectorList;
16typedef std::map<std::string,AGDDTechnology*> technologyList;
17
19public:
21 AGDDDetector* GetDetector(const std::string& s) {return m_the_detectors[s];}
22 AGDDTechnology* GetTechnology(const std::string& s) {return m_the_technologies[s];}
25 void PrintAllDetectors();
27
28 const detectorList& GetDetectorList() const ;
29 std::vector<AGDDDetector*> GetDetectorsByType(const std::string&) const ;
30 AGDDDetector* GetDetectorByID(const std::string&) const ;
31 template<class T> std::vector<T*> GetDetectorsByType() const ;
32 template<class T> T* GetDetectorByID(const std::string&) const ;
33private:
36};
37
38#endif
std::map< std::string, AGDDDetector * > detectorList
std::map< std::string, AGDDTechnology * > technologyList
detectorList & GetDetectorList()
AGDDTechnology * GetTechnology(const std::string &s)
technologyList m_the_technologies
AGDDDetector * GetDetectorByID(const std::string &) const
AGDDDetector * GetDetector(const std::string &s)
void RegisterDetector(AGDDDetector *)
void RegisterTechnology(AGDDTechnology *)
std::vector< T * > GetDetectorsByType() const
detectorList m_the_detectors