ATLAS Offline Software
Loading...
Searching...
No Matches
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
17public:
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
39protected:
40
42
43 float m_r1, m_z1, m_r2, m_z2;
44 int m_nBins;
45
46};
47
49public:
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
60protected:
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(const std::vector< TrigInDetSiLayer > &, const std::unique_ptr< GNNR3_FasTrackConnector > &)
const TrigFTF_GNNR3_Layer * getTrigFTF_GNNR3_LayerByIndex(int) const
const TrigFTF_GNNR3_Layer * addNewLayer(const TrigInDetSiLayer &, int)
unsigned int num_layers() const
std::map< unsigned int, TrigFTF_GNNR3_Layer * > m_layMap
const std::vector< std::pair< int, std::vector< int > > > & bin_groups() const
std::vector< TrigFTF_GNNR3_Layer * > m_layArray
std::vector< std::pair< int, std::vector< int > > > m_binGroups
const TrigFTF_GNNR3_Layer * getTrigFTF_GNNR3_LayerByKey(unsigned int) const
bool verifyBin(const TrigFTF_GNNR3_Layer *, int, int, float, float) const
const TrigInDetSiLayer & m_layer
std::vector< float > m_maxRadius
TrigFTF_GNNR3_Layer(const TrigInDetSiLayer &, float, int)
std::vector< int > m_bins
std::vector< float > m_maxBinCoord
std::vector< float > m_minRadius
float getMaxBinRadius(int) const
float getMinBinRadius(int) const
int getEtaBin(float, float) const
std::vector< float > m_minBinCoord