ATLAS Offline Software
GNN_TrackingFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETPATTRECOTOOLS_GNN_TRACKING_FILTER_H
6 #define TRIGINDETPATTRECOTOOLS_GNN_TRACKING_FILTER_H
7 
8 #include "GNN_DataStorage.h"
10 
11 typedef struct TrigFTF_GNN_EdgeState {
12 
13 public:
14 
15 struct Compare {
16  bool operator()(const struct TrigFTF_GNN_EdgeState* s1, const struct TrigFTF_GNN_EdgeState* s2) {
17  return s1->m_J > s2->m_J;
18  }
19  };
20 
21 
23 
25 
27 
29  void clone(const struct TrigFTF_GNN_EdgeState&);
30 
31  float m_J{};
32 
33  std::vector<TrigFTF_GNN_Edge*> m_vs;
34 
35  float m_X[3]{}, m_Y[2]{}, m_Cx[3][3]{}, m_Cy[2][2]{};
36  float m_refX{}, m_refY{}, m_c{}, m_s{};
37 
38  bool m_initialized{false};
39 
41 
42 #define MAX_EDGE_STATE 2500
43 
44 
46  public:
47  TrigFTF_GNN_TrackingFilter(const std::vector<TrigInDetSiLayer>&, std::vector<TrigFTF_GNN_Edge>&);
49 
51 
52  protected:
53 
55 
57 
58  int getLayerType(int);
59 
60 
61  const std::vector<TrigInDetSiLayer>& m_geo;
62 
63  std::vector<TrigFTF_GNN_Edge>& m_segStore;
64 
65  std::vector<TrigFTF_GNN_EDGE_STATE*> m_stateVec;
66 
68 
70 
72 
73 
74 #endif
TrigFTF_GNN_TrackingFilter::update
bool update(TrigFTF_GNN_Edge *, TrigFTF_GNN_EDGE_STATE &)
Definition: GNN_TrackingFilter.cxx:177
TrigFTF_GNN_EdgeState::Compare::operator()
bool operator()(const struct TrigFTF_GNN_EdgeState *s1, const struct TrigFTF_GNN_EdgeState *s2)
Definition: GNN_TrackingFilter.h:16
TrigFTF_GNN_TrackingFilter::getLayerType
int getLayerType(int)
Definition: GNN_TrackingFilter.cxx:320
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
TrigFTF_GNN_EdgeState::TrigFTF_GNN_EdgeState
TrigFTF_GNN_EdgeState(bool f)
Definition: GNN_TrackingFilter.h:24
TrigFTF_GNN_TrackingFilter::m_globalStateCounter
int m_globalStateCounter
Definition: GNN_TrackingFilter.h:69
TrigFTF_GNN_TrackingFilter::followTrack
void followTrack(TrigFTF_GNN_Edge *, TrigFTF_GNN_EDGE_STATE &)
Definition: GNN_TrackingFilter.cxx:84
MAX_EDGE_STATE
#define MAX_EDGE_STATE
Definition: GNN_TrackingFilter.h:42
TrigFTF_GNN_EdgeState::m_s
float m_s
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_EdgeState
Definition: GNN_TrackingFilter.h:11
TrigFTF_GNN_EdgeState::m_Cx
float m_Cx[3][3]
Definition: GNN_TrackingFilter.h:35
TrigFTF_GNN_EdgeState::m_J
float m_J
Definition: GNN_TrackingFilter.h:31
TrigFTF_GNN_EdgeState::m_vs
std::vector< TrigFTF_GNN_Edge * > m_vs
Definition: GNN_TrackingFilter.h:33
TrigFTF_GNN_EdgeState::m_Y
float m_Y[2]
Definition: GNN_TrackingFilter.h:35
TrigFTF_GNN_EdgeState::clone
void clone(const struct TrigFTF_GNN_EdgeState &)
Definition: GNN_TrackingFilter.cxx:62
TrigFTF_GNN_EdgeState::m_initialized
bool m_initialized
Definition: GNN_TrackingFilter.h:38
TrigInDetSiLayer.h
TrigFTF_GNN_TrackingFilter::TrigFTF_GNN_TrackingFilter
TrigFTF_GNN_TrackingFilter(const std::vector< TrigInDetSiLayer > &, std::vector< TrigFTF_GNN_Edge > &)
Definition: GNN_TrackingFilter.cxx:80
TrigFTF_GNN_EdgeState::m_refX
float m_refX
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_TrackingFilter::m_stateStore
TrigFTF_GNN_EDGE_STATE m_stateStore[MAX_EDGE_STATE]
Definition: GNN_TrackingFilter.h:67
TrigFTF_GNN_Edge
Definition: GNN_DataStorage.h:108
TrigFTF_GNN_TrackingFilter::m_segStore
std::vector< TrigFTF_GNN_Edge > & m_segStore
Definition: GNN_TrackingFilter.h:63
TrigFTF_GNN_EdgeState::m_c
float m_c
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_TrackingFilter::propagate
void propagate(TrigFTF_GNN_Edge *, TrigFTF_GNN_EDGE_STATE &)
Definition: GNN_TrackingFilter.cxx:117
TrigFTF_GNN_TrackingFilter::~TrigFTF_GNN_TrackingFilter
~TrigFTF_GNN_TrackingFilter()
Definition: GNN_TrackingFilter.h:48
TrigFTF_GNN_EdgeState::Compare
Definition: GNN_TrackingFilter.h:15
TrigFTF_GNN_EdgeState::m_Cy
float m_Cy[2][2]
Definition: GNN_TrackingFilter.h:35
TrigFTF_GNN_EdgeState::m_refY
float m_refY
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_TrackingFilter::m_geo
const std::vector< TrigInDetSiLayer > & m_geo
Definition: GNN_TrackingFilter.h:61
TrigFTF_GNN_TRACKING_FILTER
class TrigFTF_GNN_TrackingFilter TrigFTF_GNN_TRACKING_FILTER
TrigFTF_GNN_EDGE_STATE
struct TrigFTF_GNN_EdgeState TrigFTF_GNN_EDGE_STATE
ReadCellNoiseFromCoolCompare.s2
s2
Definition: ReadCellNoiseFromCoolCompare.py:379
TrigFTF_GNN_EdgeState::initialize
void initialize(TrigFTF_GNN_Edge *)
Definition: GNN_TrackingFilter.cxx:15
TrigFTF_GNN_EdgeState::m_X
float m_X[3]
Definition: GNN_TrackingFilter.h:35
TrigFTF_GNN_EdgeState::~TrigFTF_GNN_EdgeState
~TrigFTF_GNN_EdgeState()
Definition: GNN_TrackingFilter.h:26
TrigFTF_GNN_TrackingFilter::m_stateVec
std::vector< TrigFTF_GNN_EDGE_STATE * > m_stateVec
Definition: GNN_TrackingFilter.h:65
GNN_DataStorage.h
TrigFTF_GNN_EdgeState::TrigFTF_GNN_EdgeState
TrigFTF_GNN_EdgeState()
Definition: GNN_TrackingFilter.h:22
TrigFTF_GNN_TrackingFilter
Definition: GNN_TrackingFilter.h:45