Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsSurfaceMaps.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ActsSurfaceMaps.h
1 #ifndef TRACKBASE_ACTSSURFACEMAPS_H
2 #define TRACKBASE_ACTSSURFACEMAPS_H
3 
9 #include "TrkrDefs.h"
10 #include "ActsTrackingGeometry.h"
11 
16 
17 namespace Acts{ class Surface; }
18 class TGeoNode;
19 class TrkrCluster;
20 
21 #include <map>
22 #include <memory>
23 #include <set>
24 #include <vector>
25 
26 using Surface = std::shared_ptr<const Acts::Surface>;
27 using SurfaceVec = std::vector<Surface>;
28 
30 {
31  public:
32  ActsSurfaceMaps() = default;
33 
35  bool isTpcSurface( const Acts::Surface* surface ) const;
36 
38  bool isMicromegasSurface( const Acts::Surface* surface ) const;
39 
41 
43 
45  TrkrDefs::subsurfkey surfkey) const;
46 
47  Surface getMMSurface(TrkrDefs::hitsetkey hitsetkey) const;
48 
50  std::map<TrkrDefs::hitsetkey, Surface> m_siliconSurfaceMap;
51 
53  std::map<unsigned int, SurfaceVec> m_tpcSurfaceMap; // uses layer as key
54 
56  std::map<TrkrDefs::hitsetkey, Surface> m_mmSurfaceMap;
57 
59  std::map<TrkrDefs::hitsetkey, TGeoNode*> m_tGeoNodeMap;
60 
62 
63  std::set<int> m_tpcVolumeIds;
64 
66 
67  std::set<int> m_micromegasVolumeIds;
68 
69 };
70 
71 #endif