ATLAS Offline Software
FPGATrackSimMappingSvc.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef TRIGFPGATrackSimMAPPINGSVC_H
4 #define TRIGFPGATrackSimMAPPINGSVC_H
5 
7 
13 
15 
16 class FPGATrackSimMappingSvc : public extends<AthService, IFPGATrackSimMappingSvc>
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 FPGATrackSimRegionMap* SubRegionMap_2nd() const override { return m_subrmap_2nd.get(); }
31  virtual const FPGATrackSimNNMap* NNMap() const override { return m_NNmap.get(); }
32 
33  private:
34 
35  // Handles
37 
38  // Configuration
39 
40  Gaudi::Property<std::string> m_mappingType {this, "mappingType", "FILE", "for now should be FILE only, DB for the future"};
41  Gaudi::Property<std::string> m_rmap_path {this, "rmap", "", "path of the region-map file"};
42  Gaudi::Property<std::string> m_subrmap_path {this, "subrmap", "", "path of the region-map file for subregions"};
43  Gaudi::Property<std::string> m_pmap_path {this, "pmap", "", "path of the PMAP file"};
44  Gaudi::Property<std::string> m_modulelut_path {this, "modulemap", "", "path of the ModuleLUT file"};
45  Gaudi::Property<std::string> m_NNmap_path {this, "NNmap", "", "path of the NN weighting file"};
46  Gaudi::Property<std::string> m_radii_path {this, "radiiFile", "", "path of the average radius file" };
47  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 }"};
48 
49  // Map unique pointers
50  std::unique_ptr<FPGATrackSimPlaneMap> m_pmap_1st = nullptr; // pointer to the pmap object for 1st stage
51  std::unique_ptr<FPGATrackSimPlaneMap> m_pmap_2nd = nullptr; // pointer to the pmap object for 2nd stage
52  std::unique_ptr<FPGATrackSimRegionMap> m_rmap_1st = nullptr; // pointer to the RMAP object using 1st stage plane map
53  std::unique_ptr<FPGATrackSimRegionMap> m_rmap_2nd = nullptr; // pointer to the RMAP object using 2nd stage plane map
54  std::unique_ptr<FPGATrackSimRegionMap> m_subrmap = nullptr;
55  std::unique_ptr<FPGATrackSimRegionMap> m_subrmap_2nd = nullptr;
56  std::unique_ptr<FPGATrackSimNNMap> m_NNmap = nullptr;
57 
58  // Helpers
61 };
62 
63 #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:53
FPGATrackSimMappingSvc::NNMap
virtual const FPGATrackSimNNMap * NNMap() const override
Definition: FPGATrackSimMappingSvc.h:31
FPGATrackSimMappingSvc::m_pmap_1st
std::unique_ptr< FPGATrackSimPlaneMap > m_pmap_1st
Definition: FPGATrackSimMappingSvc.h:50
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:51
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:56
FPGATrackSimMappingSvc::m_radii_path
Gaudi::Property< std::string > m_radii_path
Definition: FPGATrackSimMappingSvc.h:46
FPGATrackSimMappingSvc::checkAllocs
StatusCode checkAllocs()
Definition: FPGATrackSimMappingSvc.cxx:29
IFPGATrackSimEventSelectionSvc
Definition: IFPGATrackSimEventSelectionSvc.h:22
FPGATrackSimMappingSvc::m_rmap_1st
std::unique_ptr< FPGATrackSimRegionMap > m_rmap_1st
Definition: FPGATrackSimMappingSvc.h:52
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:47
FPGATrackSimMappingSvc::m_subrmap_2nd
std::unique_ptr< FPGATrackSimRegionMap > m_subrmap_2nd
Definition: FPGATrackSimMappingSvc.h:55
FPGATrackSimMappingSvc::m_pmap_path
Gaudi::Property< std::string > m_pmap_path
Definition: FPGATrackSimMappingSvc.h:43
FPGATrackSimMappingSvc::m_EvtSel
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_EvtSel
Definition: FPGATrackSimMappingSvc.h:36
FPGATrackSimMappingSvc::m_modulelut_path
Gaudi::Property< std::string > m_modulelut_path
Definition: FPGATrackSimMappingSvc.h:44
FPGATrackSimMappingSvc::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimMappingSvc.cxx:48
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
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:45
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:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
FPGATrackSimMappingSvc::m_mappingType
Gaudi::Property< std::string > m_mappingType
Definition: FPGATrackSimMappingSvc.h:40
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:42
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:54
FPGATrackSimMappingSvc::checkInputs
StatusCode checkInputs()
Definition: FPGATrackSimMappingSvc.cxx:14
AthService.h
FPGATrackSimRegionMap
Definition: FPGATrackSimRegionMap.h:62
FPGATrackSimMappingSvc::SubRegionMap_2nd
virtual const FPGATrackSimRegionMap * SubRegionMap_2nd() const override
Definition: FPGATrackSimMappingSvc.h:30
ServiceHandle< IFPGATrackSimEventSelectionSvc >