ATLAS Offline Software
GNNR3_Geometry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETPATTRECOTOOLS_GNNR3_GEOMETRY_H
6 #define TRIGINDETPATTRECOTOOLS_GNNR3_GEOMETRY_H
7 
8 #include<vector>
9 #include<map>
10 #include<algorithm>
11 #include <memory>
14 
15 
17 public:
18  TrigFTF_GNNR3_Layer(const TrigInDetSiLayer&, float, int);
20 
21  int getEtaBin(float, float) const;
22 
23  float getMinBinRadius(int) const;
24  float getMaxBinRadius(int) const;
25 
26  int num_bins() const {return m_bins.size();}
27 
28  bool verifyBin(const TrigFTF_GNNR3_Layer*, int, int, float, float) const;
29 
31  std::vector<int> m_bins;//eta-bin indices
32  std::vector<float> m_minRadius;
33  std::vector<float> m_maxRadius;
34  std::vector<float> m_minBinCoord;
35  std::vector<float> m_maxBinCoord;
36 
38 
39 protected:
40 
42 
43  float m_r1, m_z1, m_r2, m_z2;
44  int m_nBins;
45 
46 };
47 
49 public:
50  TrigFTF_GNNR3_Geometry(const std::vector<TrigInDetSiLayer>&, const std::unique_ptr<GNNR3_FasTrackConnector>&);
52 
53  const TrigFTF_GNNR3_Layer* getTrigFTF_GNNR3_LayerByKey(unsigned int) const;
55 
56  int num_bins() const {return m_nEtaBins;}
57  unsigned int num_layers() const {return m_layArray.size();}
58  const std::vector<std::pair<int, std::vector<int> > >& bin_groups() const {return m_binGroups;}
59 
60 protected:
61 
63 
65 
66  std::map<unsigned int, TrigFTF_GNNR3_Layer*> m_layMap;
67  std::vector<TrigFTF_GNNR3_Layer*> m_layArray;
68 
70 
71  std::vector<std::pair<int, std::vector<int> > > m_binGroups;
72 
73 };
74 
75 
76 #endif
TrigFTF_GNNR3_Geometry::num_layers
unsigned int num_layers() const
Definition: GNNR3_Geometry.h:57
TrigFTF_GNNR3_Geometry::bin_groups
const std::vector< std::pair< int, std::vector< int > > > & bin_groups() const
Definition: GNNR3_Geometry.h:58
TrigFTF_GNNR3_Layer::m_layer
const TrigInDetSiLayer & m_layer
Definition: GNNR3_Geometry.h:30
TrigFTF_GNNR3_Geometry::m_layArray
std::vector< TrigFTF_GNNR3_Layer * > m_layArray
Definition: GNNR3_Geometry.h:67
TrigFTF_GNNR3_Layer::m_etaBin
float m_etaBin
Definition: GNNR3_Geometry.h:37
TrigFTF_GNNR3_Layer::getMinBinRadius
float getMinBinRadius(int) const
Definition: GNNR3_Geometry.cxx:201
TrigFTF_GNNR3_Geometry::m_layMap
std::map< unsigned int, TrigFTF_GNNR3_Layer * > m_layMap
Definition: GNNR3_Geometry.h:66
TrigFTF_GNNR3_Geometry::m_binGroups
std::vector< std::pair< int, std::vector< int > > > m_binGroups
Definition: GNNR3_Geometry.h:71
TrigFTF_GNNR3_Layer::m_etaBinWidth
float m_etaBinWidth
Definition: GNNR3_Geometry.h:41
TrigFTF_GNNR3_Layer::m_nBins
int m_nBins
Definition: GNNR3_Geometry.h:44
TrigFTF_GNNR3_Layer::m_r1
float m_r1
Definition: GNNR3_Geometry.h:43
TrigFTF_GNNR3_Layer
Definition: GNNR3_Geometry.h:16
TrigFTF_GNNR3_Geometry::m_etaBinWidth
float m_etaBinWidth
Definition: GNNR3_Geometry.h:64
GNNR3_FasTrackConnector.h
TrigInDetSiLayer.h
TrigFTF_GNNR3_Geometry::~TrigFTF_GNNR3_Geometry
~TrigFTF_GNNR3_Geometry()
Definition: GNNR3_Geometry.cxx:287
TrigFTF_GNNR3_Layer::~TrigFTF_GNNR3_Layer
~TrigFTF_GNNR3_Layer()
Definition: GNNR3_Geometry.cxx:215
TrigFTF_GNNR3_Layer::m_minEta
float m_minEta
Definition: GNNR3_Geometry.h:37
TrigFTF_GNNR3_Layer::m_maxRadius
std::vector< float > m_maxRadius
Definition: GNNR3_Geometry.h:33
TrigFTF_GNNR3_Layer::TrigFTF_GNNR3_Layer
TrigFTF_GNNR3_Layer(const TrigInDetSiLayer &, float, int)
Definition: GNNR3_Geometry.cxx:13
TrigFTF_GNNR3_Layer::m_minRadius
std::vector< float > m_minRadius
Definition: GNNR3_Geometry.h:32
TrigFTF_GNNR3_Geometry::addNewLayer
const TrigFTF_GNNR3_Layer * addNewLayer(const TrigInDetSiLayer &, int)
Definition: GNNR3_Geometry.cxx:308
TrigFTF_GNNR3_Layer::m_maxEta
float m_maxEta
Definition: GNNR3_Geometry.h:37
TrigFTF_GNNR3_Layer::getMaxBinRadius
float getMaxBinRadius(int) const
Definition: GNNR3_Geometry.cxx:208
TrigFTF_GNNR3_Layer::m_bins
std::vector< int > m_bins
Definition: GNNR3_Geometry.h:31
TrigFTF_GNNR3_Geometry::num_bins
int num_bins() const
Definition: GNNR3_Geometry.h:56
TrigFTF_GNNR3_Geometry::getTrigFTF_GNNR3_LayerByIndex
const TrigFTF_GNNR3_Layer * getTrigFTF_GNNR3_LayerByIndex(int) const
Definition: GNNR3_Geometry.cxx:302
TrigFTF_GNNR3_Layer::m_r2
float m_r2
Definition: GNNR3_Geometry.h:43
TrigFTF_GNNR3_Layer::m_z1
float m_z1
Definition: GNNR3_Geometry.h:43
TrigFTF_GNNR3_Layer::m_minBinCoord
std::vector< float > m_minBinCoord
Definition: GNNR3_Geometry.h:34
TrigFTF_GNNR3_Geometry
Definition: GNNR3_Geometry.h:48
TrigFTF_GNNR3_Layer::num_bins
int num_bins() const
Definition: GNNR3_Geometry.h:26
TrigFTF_GNNR3_Geometry::getTrigFTF_GNNR3_LayerByKey
const TrigFTF_GNNR3_Layer * getTrigFTF_GNNR3_LayerByKey(unsigned int) const
Definition: GNNR3_Geometry.cxx:294
TrigInDetSiLayer
Definition: TrigInDetSiLayer.h:8
TrigFTF_GNNR3_Geometry::TrigFTF_GNNR3_Geometry
TrigFTF_GNNR3_Geometry(const std::vector< TrigInDetSiLayer > &, const std::unique_ptr< GNNR3_FasTrackConnector > &)
Definition: GNNR3_Geometry.cxx:219
TrigFTF_GNNR3_Layer::m_z2
float m_z2
Definition: GNNR3_Geometry.h:43
TrigFTF_GNNR3_Layer::m_maxBinCoord
std::vector< float > m_maxBinCoord
Definition: GNNR3_Geometry.h:35
TrigFTF_GNNR3_Layer::verifyBin
bool verifyBin(const TrigFTF_GNNR3_Layer *, int, int, float, float) const
Definition: GNNR3_Geometry.cxx:124
TrigFTF_GNNR3_Geometry::m_nEtaBins
int m_nEtaBins
Definition: GNNR3_Geometry.h:69
TrigFTF_GNNR3_Layer::getEtaBin
int getEtaBin(float, float) const
Definition: GNNR3_Geometry.cxx:184