ATLAS Offline Software
FPGATrackSimMappingSvc.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef TRIGFPGATrackSimMAPPINGSVC_H
4 #define TRIGFPGATrackSimMAPPINGSVC_H
5 
7 
13 
15 
17 {
18  public:
19 
20  FPGATrackSimMappingSvc(const std::string& name, ISvcLocator* svc);
21  virtual ~FPGATrackSimMappingSvc() = default;
22 
23  virtual StatusCode initialize() override;
24 
25  virtual const FPGATrackSimPlaneMap* PlaneMap_1st() const override { return m_pmap_1st.get(); }
26  virtual const FPGATrackSimPlaneMap* PlaneMap_2nd() const override { return m_pmap_2nd.get(); }
27  virtual const FPGATrackSimRegionMap* RegionMap_1st() const override { return m_rmap_1st.get(); }
28  virtual const FPGATrackSimRegionMap* RegionMap_2nd() const override { return m_rmap_2nd.get(); }
29  virtual const FPGATrackSimRegionMap* SubRegionMap() const override { return m_subrmap.get(); }
30  virtual const FPGATrackSimNNMap* NNMap() const override { return m_NNmap.get(); }
31 
32  static const InterfaceID& interfaceID();
33  virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvIf) override;
34 
35  private:
36 
37  // Handles
39 
40  // Configuration
41 
42  Gaudi::Property<std::string> m_mappingType {this, "mappingType", "FILE", "for now should be FILE only, DB for the future"};
43  Gaudi::Property<std::string> m_rmap_path {this, "rmap", "", "path of the region-map file"};
44  Gaudi::Property<std::string> m_subrmap_path {this, "subrmap", "", "path of the region-map file for subregions"};
45  Gaudi::Property<std::string> m_pmap_path {this, "pmap", "", "path of the PMAP file"};
46  Gaudi::Property<std::string> m_modulelut_path {this, "modulemap", "", "path of the ModuleLUT file"};
47  Gaudi::Property<std::string> m_NNmap_path {this, "NNmap", "", "path of the NN weighting file"};
48  Gaudi::Property<std::string> m_radii_path {this, "radiiFile", "", "path of the average radius file" };
49  Gaudi::Property<std::vector <int> > m_layerOverrides {this, "layerOverride", {}, "Overrides the selection of the 1st stage logical layers in the plane map. Each entry declares a detector layer to use as a logical layer. Specify a detector layer with { SiliconTech * 1000 + DetectorZone * 100 + PhysicalLayer }"};
50 
51  // Map unique pointers
52  std::unique_ptr<FPGATrackSimPlaneMap> m_pmap_1st = nullptr; // pointer to the pmap object for 1st stage
53  std::unique_ptr<FPGATrackSimPlaneMap> m_pmap_2nd = nullptr; // pointer to the pmap object for 2nd stage
54  std::unique_ptr<FPGATrackSimRegionMap> m_rmap_1st = nullptr; // pointer to the RMAP object using 1st stage plane map
55  std::unique_ptr<FPGATrackSimRegionMap> m_rmap_2nd = nullptr; // pointer to the RMAP object using 2nd stage plane map
56  std::unique_ptr<FPGATrackSimRegionMap> m_subrmap = nullptr;
57  std::unique_ptr<FPGATrackSimNNMap> m_NNmap = nullptr;
58 
59  // Helpers
62 };
63 
64 inline const InterfaceID& FPGATrackSimMappingSvc::interfaceID()
65 {
66  static const InterfaceID IID_FPGATrackSimMappingSvc("FPGATrackSimMappingSvc", 1, 0);
67  return IID_FPGATrackSimMappingSvc;
68 }
69 
70 #endif // TRIGFPGATrackSimMAPPINGSVC_H
FPGATrackSimMappingSvc::PlaneMap_1st
virtual const FPGATrackSimPlaneMap * PlaneMap_1st() const override
Definition: FPGATrackSimMappingSvc.h:25
FPGATrackSimMappingSvc::m_rmap_2nd
std::unique_ptr< FPGATrackSimRegionMap > m_rmap_2nd
Definition: FPGATrackSimMappingSvc.h:55
FPGATrackSimMappingSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvIf) override
Definition: FPGATrackSimMappingSvc.cxx:14
FPGATrackSimMappingSvc::NNMap
virtual const FPGATrackSimNNMap * NNMap() const override
Definition: FPGATrackSimMappingSvc.h:30
FPGATrackSimMappingSvc::m_pmap_1st
std::unique_ptr< FPGATrackSimPlaneMap > m_pmap_1st
Definition: FPGATrackSimMappingSvc.h:52
FPGATrackSimMappingSvc::FPGATrackSimMappingSvc
FPGATrackSimMappingSvc(const std::string &name, ISvcLocator *svc)
Definition: FPGATrackSimMappingSvc.cxx:7
FPGATrackSimMappingSvc::m_pmap_2nd
std::unique_ptr< FPGATrackSimPlaneMap > m_pmap_2nd
Definition: FPGATrackSimMappingSvc.h:53
FPGATrackSimNNMap.h
Map for NN tracking.
FPGATrackSimPlaneMap.h
Maps physical layers to logical layers.
FPGATrackSimMappingSvc::~FPGATrackSimMappingSvc
virtual ~FPGATrackSimMappingSvc()=default
IFPGATrackSimMappingSvc.h
FPGATrackSimMappingSvc::m_NNmap
std::unique_ptr< FPGATrackSimNNMap > m_NNmap
Definition: FPGATrackSimMappingSvc.h:57
FPGATrackSimMappingSvc::m_radii_path
Gaudi::Property< std::string > m_radii_path
Definition: FPGATrackSimMappingSvc.h:48
FPGATrackSimMappingSvc::checkAllocs
StatusCode checkAllocs()
Definition: FPGATrackSimMappingSvc.cxx:43
IFPGATrackSimEventSelectionSvc
Definition: IFPGATrackSimEventSelectionSvc.h:22
FPGATrackSimMappingSvc::m_rmap_1st
std::unique_ptr< FPGATrackSimRegionMap > m_rmap_1st
Definition: FPGATrackSimMappingSvc.h:54
IFPGATrackSimMappingSvc
Definition: IFPGATrackSimMappingSvc.h:17
FPGATrackSimMappingSvc::RegionMap_2nd
virtual const FPGATrackSimRegionMap * RegionMap_2nd() const override
Definition: FPGATrackSimMappingSvc.h:28
FPGATrackSimMappingSvc
Definition: FPGATrackSimMappingSvc.h:17
FPGATrackSimRegionMap.h
Maps ITK module indices to FPGATrackSim regions.
FPGATrackSimMappingSvc::m_layerOverrides
Gaudi::Property< std::vector< int > > m_layerOverrides
Definition: FPGATrackSimMappingSvc.h:49
FPGATrackSimMappingSvc::m_pmap_path
Gaudi::Property< std::string > m_pmap_path
Definition: FPGATrackSimMappingSvc.h:45
FPGATrackSimMappingSvc::m_EvtSel
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_EvtSel
Definition: FPGATrackSimMappingSvc.h:38
FPGATrackSimMappingSvc::m_modulelut_path
Gaudi::Property< std::string > m_modulelut_path
Definition: FPGATrackSimMappingSvc.h:46
FPGATrackSimMappingSvc::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimMappingSvc.cxx:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
FPGATrackSimNNMap
Definition: FPGATrackSimNNMap.h:27
FPGATrackSimMappingSvc::RegionMap_1st
virtual const FPGATrackSimRegionMap * RegionMap_1st() const override
Definition: FPGATrackSimMappingSvc.h:27
FPGATrackSimMappingSvc::m_NNmap_path
Gaudi::Property< std::string > m_NNmap_path
Definition: FPGATrackSimMappingSvc.h:47
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
FPGATrackSimPlaneMap
Definition: FPGATrackSimPlaneMap.h:62
FPGATrackSimMappingSvc::m_rmap_path
Gaudi::Property< std::string > m_rmap_path
Definition: FPGATrackSimMappingSvc.h:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
FPGATrackSimMappingSvc::interfaceID
static const InterfaceID & interfaceID()
Definition: FPGATrackSimMappingSvc.h:64
FPGATrackSimMappingSvc::m_mappingType
Gaudi::Property< std::string > m_mappingType
Definition: FPGATrackSimMappingSvc.h:42
FPGATrackSimMappingSvc::PlaneMap_2nd
virtual const FPGATrackSimPlaneMap * PlaneMap_2nd() const override
Definition: FPGATrackSimMappingSvc.h:26
FPGATrackSimMappingSvc::m_subrmap_path
Gaudi::Property< std::string > m_subrmap_path
Definition: FPGATrackSimMappingSvc.h:44
FPGATrackSimMappingSvc::SubRegionMap
virtual const FPGATrackSimRegionMap * SubRegionMap() const override
Definition: FPGATrackSimMappingSvc.h:29
IFPGATrackSimEventSelectionSvc.h
FPGATrackSimMappingSvc::m_subrmap
std::unique_ptr< FPGATrackSimRegionMap > m_subrmap
Definition: FPGATrackSimMappingSvc.h:56
FPGATrackSimMappingSvc::checkInputs
StatusCode checkInputs()
Definition: FPGATrackSimMappingSvc.cxx:28
AthService.h
FPGATrackSimRegionMap
Definition: FPGATrackSimRegionMap.h:62
ServiceHandle< IFPGATrackSimEventSelectionSvc >