ATLAS Offline Software
GNN_Geometry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETPATTRECOTOOLS_GNN_GEOMETRY_H
6 #define TRIGINDETPATTRECOTOOLS_GNN_GEOMETRY_H
7 
8 #include<vector>
9 #include<map>
10 #include<algorithm>
11 #include <memory>
12 #include "GNN_FasTrackConnector.h"
14 
15 
17 public:
18  TrigFTF_GNN_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_GNN_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  float m_etaBin;
46 
47 
48 };
49 
51 public:
52  TrigFTF_GNN_Geometry(const std::vector<TrigInDetSiLayer>&, const std::unique_ptr<GNN_FasTrackConnector>&);
54 
55  const TrigFTF_GNN_Layer* getTrigFTF_GNN_LayerByKey(unsigned int) const;
57 
58  int num_bins() const {return m_nEtaBins;}
59  unsigned int num_layers() const {return m_layArray.size();}
60  const std::vector<std::pair<int, std::vector<int> > >& bin_groups() const {return m_binGroups;}
61 
62 protected:
63 
65 
67 
68  std::map<unsigned int, TrigFTF_GNN_Layer*> m_layMap;
69  std::vector<TrigFTF_GNN_Layer*> m_layArray;
70 
72 
73  std::vector<std::pair<int, std::vector<int> > > m_binGroups;
74 
75 };
76 
77 
78 #endif
TrigFTF_GNN_Layer::m_minBinCoord
std::vector< float > m_minBinCoord
Definition: GNN_Geometry.h:34
TrigFTF_GNN_Layer::m_r2
float m_r2
Definition: GNN_Geometry.h:43
TrigFTF_GNN_Layer::~TrigFTF_GNN_Layer
~TrigFTF_GNN_Layer()
Definition: GNN_Geometry.cxx:215
GNN_FasTrackConnector.h
TrigFTF_GNN_Geometry::num_layers
unsigned int num_layers() const
Definition: GNN_Geometry.h:59
TrigFTF_GNN_Layer::getMinBinRadius
float getMinBinRadius(int) const
Definition: GNN_Geometry.cxx:201
TrigFTF_GNN_Geometry::getTrigFTF_GNN_LayerByKey
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByKey(unsigned int) const
Definition: GNN_Geometry.cxx:293
TrigFTF_GNN_Geometry::m_nEtaBins
int m_nEtaBins
Definition: GNN_Geometry.h:71
TrigFTF_GNN_Geometry::m_layMap
std::map< unsigned int, TrigFTF_GNN_Layer * > m_layMap
Definition: GNN_Geometry.h:68
TrigFTF_GNN_Layer::m_bins
std::vector< int > m_bins
Definition: GNN_Geometry.h:31
TrigFTF_GNN_Geometry::m_etaBinWidth
float m_etaBinWidth
Definition: GNN_Geometry.h:66
TrigFTF_GNN_Layer::m_maxRadius
std::vector< float > m_maxRadius
Definition: GNN_Geometry.h:33
TrigFTF_GNN_Geometry::TrigFTF_GNN_Geometry
TrigFTF_GNN_Geometry(const std::vector< TrigInDetSiLayer > &, const std::unique_ptr< GNN_FasTrackConnector > &)
Definition: GNN_Geometry.cxx:219
TrigFTF_GNN_Layer::m_z1
float m_z1
Definition: GNN_Geometry.h:43
TrigFTF_GNN_Layer::m_etaBinWidth
float m_etaBinWidth
Definition: GNN_Geometry.h:41
TrigInDetSiLayer.h
TrigFTF_GNN_Layer::m_r1
float m_r1
Definition: GNN_Geometry.h:43
TrigFTF_GNN_Geometry::num_bins
int num_bins() const
Definition: GNN_Geometry.h:58
TrigFTF_GNN_Layer::m_nBins
int m_nBins
Definition: GNN_Geometry.h:44
TrigFTF_GNN_Layer::m_layer
const TrigInDetSiLayer & m_layer
Definition: GNN_Geometry.h:30
TrigFTF_GNN_Layer::m_z2
float m_z2
Definition: GNN_Geometry.h:43
TrigFTF_GNN_Geometry::~TrigFTF_GNN_Geometry
~TrigFTF_GNN_Geometry()
Definition: GNN_Geometry.cxx:286
TrigFTF_GNN_Geometry::m_layArray
std::vector< TrigFTF_GNN_Layer * > m_layArray
Definition: GNN_Geometry.h:69
TrigFTF_GNN_Layer::m_etaBin
float m_etaBin
Definition: GNN_Geometry.h:45
TrigFTF_GNN_Layer::TrigFTF_GNN_Layer
TrigFTF_GNN_Layer(const TrigInDetSiLayer &, float, int)
Definition: GNN_Geometry.cxx:13
TrigFTF_GNN_Layer::m_minEta
float m_minEta
Definition: GNN_Geometry.h:37
TrigFTF_GNN_Geometry::m_binGroups
std::vector< std::pair< int, std::vector< int > > > m_binGroups
Definition: GNN_Geometry.h:73
TrigFTF_GNN_Geometry::getTrigFTF_GNN_LayerByIndex
const TrigFTF_GNN_Layer * getTrigFTF_GNN_LayerByIndex(int) const
Definition: GNN_Geometry.cxx:301
TrigFTF_GNN_Layer
Definition: GNN_Geometry.h:16
TrigFTF_GNN_Geometry::bin_groups
const std::vector< std::pair< int, std::vector< int > > > & bin_groups() const
Definition: GNN_Geometry.h:60
TrigFTF_GNN_Layer::m_maxBinCoord
std::vector< float > m_maxBinCoord
Definition: GNN_Geometry.h:35
TrigFTF_GNN_Geometry
Definition: GNN_Geometry.h:50
TrigFTF_GNN_Layer::num_bins
int num_bins() const
Definition: GNN_Geometry.h:26
TrigFTF_GNN_Layer::verifyBin
bool verifyBin(const TrigFTF_GNN_Layer *, int, int, float, float) const
Definition: GNN_Geometry.cxx:124
TrigInDetSiLayer
Definition: TrigInDetSiLayer.h:8
TrigFTF_GNN_Geometry::addNewLayer
const TrigFTF_GNN_Layer * addNewLayer(const TrigInDetSiLayer &, int)
Definition: GNN_Geometry.cxx:307
TrigFTF_GNN_Layer::getEtaBin
int getEtaBin(float, float) const
Definition: GNN_Geometry.cxx:184
TrigFTF_GNN_Layer::m_maxEta
float m_maxEta
Definition: GNN_Geometry.h:37
TrigFTF_GNN_Layer::getMaxBinRadius
float getMaxBinRadius(int) const
Definition: GNN_Geometry.cxx:208
TrigFTF_GNN_Layer::m_minRadius
std::vector< float > m_minRadius
Definition: GNN_Geometry.h:32