ATLAS Offline Software
Classes | Public Member Functions | Public Attributes | List of all members
TrigFTF_GNN_EdgeState Struct Reference

#include <GNN_TrackingFilter.h>

Collaboration diagram for TrigFTF_GNN_EdgeState:

Classes

struct  Compare
 

Public Member Functions

 TrigFTF_GNN_EdgeState ()
 
 TrigFTF_GNN_EdgeState (bool f)
 
 ~TrigFTF_GNN_EdgeState ()
 
void initialize (TrigFTF_GNN_Edge *)
 
void clone (const struct TrigFTF_GNN_EdgeState &)
 

Public Attributes

float m_J {}
 
std::vector< TrigFTF_GNN_Edge * > m_vs
 
float m_X [3] {}
 
float m_Y [2] {}
 
float m_Cx [3][3] {}
 
float m_Cy [2][2] {}
 
float m_refX {}
 
float m_refY {}
 
float m_c {}
 
float m_s {}
 
bool m_initialized {false}
 

Detailed Description

Definition at line 11 of file GNN_TrackingFilter.h.

Constructor & Destructor Documentation

◆ TrigFTF_GNN_EdgeState() [1/2]

TrigFTF_GNN_EdgeState::TrigFTF_GNN_EdgeState ( )
inline

Definition at line 22 of file GNN_TrackingFilter.h.

22 {};

◆ TrigFTF_GNN_EdgeState() [2/2]

TrigFTF_GNN_EdgeState::TrigFTF_GNN_EdgeState ( bool  f)
inline

Definition at line 24 of file GNN_TrackingFilter.h.

24 : m_initialized(f) {};

◆ ~TrigFTF_GNN_EdgeState()

TrigFTF_GNN_EdgeState::~TrigFTF_GNN_EdgeState ( )
inline

Definition at line 26 of file GNN_TrackingFilter.h.

26 {};

Member Function Documentation

◆ clone()

void TrigFTF_GNN_EdgeState::clone ( const struct TrigFTF_GNN_EdgeState )

Definition at line 62 of file GNN_TrackingFilter.cxx.

62  {
63 
64  memcpy(&m_X[0], &st.m_X[0], sizeof(m_X));
65  memcpy(&m_Y[0], &st.m_Y[0], sizeof(m_Y));
66  memcpy(&m_Cx[0][0], &st.m_Cx[0][0], sizeof(m_Cx));
67  memcpy(&m_Cy[0][0], &st.m_Cy[0][0], sizeof(m_Cy));
68  m_refX = st.m_refX;
69  m_refY = st.m_refY;
70  m_c = st.m_c;
71  m_s = st.m_s;
72  m_J = st.m_J;
73  m_vs.clear();
74  m_vs.reserve(st.m_vs.size());
75  std::copy(st.m_vs.begin(), st.m_vs.end(), std::back_inserter(m_vs));
76 
77  m_initialized = true;
78 }

◆ initialize()

void TrigFTF_GNN_EdgeState::initialize ( TrigFTF_GNN_Edge pS)

Definition at line 15 of file GNN_TrackingFilter.cxx.

15  {
16 
17  m_initialized = true;
18 
19  m_J = 0.0;
20  m_vs.clear();
21 
22 
23  //n2->n1
24 
25  float dx = pS->m_n1->x() - pS->m_n2->x();
26  float dy = pS->m_n1->y() - pS->m_n2->y();
27  float L = std::sqrt(dx*dx + dy*dy);
28 
29  m_s = dy/L;
30  m_c = dx/L;
31 
32  //transform for extrapolation and update
33  // x' = x*m_c + y*m_s
34  // y' = -x*m_s + y*m_c
35 
36  m_refY = pS->m_n2->r();
37  m_refX = pS->m_n2->x()*m_c + pS->m_n2->y()*m_s;
38 
39  //X-state: y, dy/dx, d2y/dx2
40 
41  m_X[0] = -pS->m_n2->x()*m_s + pS->m_n2->y()*m_c;
42  m_X[1] = 0.0;
43  m_X[2] = 0.0;
44 
45  //Y-state: z, dz/dr
46 
47  m_Y[0] = pS->m_n2->z();
48  m_Y[1] = (pS->m_n1->z() - pS->m_n2->z())/(pS->m_n1->r() - pS->m_n2->r());
49 
50  memset(&m_Cx[0][0], 0, sizeof(m_Cx));
51  memset(&m_Cy[0][0], 0, sizeof(m_Cy));
52 
53  m_Cx[0][0] = 0.25;
54  m_Cx[1][1] = 0.001;
55  m_Cx[2][2] = 0.001;
56 
57  m_Cy[0][0] = 1.5;
58  m_Cy[1][1] = 0.001;
59 
60 }

Member Data Documentation

◆ m_c

float TrigFTF_GNN_EdgeState::m_c {}

Definition at line 36 of file GNN_TrackingFilter.h.

◆ m_Cx

float TrigFTF_GNN_EdgeState::m_Cx[3][3] {}

Definition at line 35 of file GNN_TrackingFilter.h.

◆ m_Cy

float TrigFTF_GNN_EdgeState::m_Cy[2][2] {}

Definition at line 35 of file GNN_TrackingFilter.h.

◆ m_initialized

bool TrigFTF_GNN_EdgeState::m_initialized {false}

Definition at line 38 of file GNN_TrackingFilter.h.

◆ m_J

float TrigFTF_GNN_EdgeState::m_J {}

Definition at line 31 of file GNN_TrackingFilter.h.

◆ m_refX

float TrigFTF_GNN_EdgeState::m_refX {}

Definition at line 36 of file GNN_TrackingFilter.h.

◆ m_refY

float TrigFTF_GNN_EdgeState::m_refY {}

Definition at line 36 of file GNN_TrackingFilter.h.

◆ m_s

float TrigFTF_GNN_EdgeState::m_s {}

Definition at line 36 of file GNN_TrackingFilter.h.

◆ m_vs

std::vector<TrigFTF_GNN_Edge*> TrigFTF_GNN_EdgeState::m_vs

Definition at line 33 of file GNN_TrackingFilter.h.

◆ m_X

float TrigFTF_GNN_EdgeState::m_X[3] {}

Definition at line 35 of file GNN_TrackingFilter.h.

◆ m_Y

float TrigFTF_GNN_EdgeState::m_Y[2] {}

Definition at line 35 of file GNN_TrackingFilter.h.


The documentation for this struct was generated from the following files:
TrigFTF_GNN_EdgeState::m_s
float m_s
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_EdgeState::m_Cx
float m_Cx[3][3]
Definition: GNN_TrackingFilter.h:35
TrigSiSpacePointBase::x
void x(const double x)
Definition: TrigSiSpacePointBase.h:54
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
TrigSiSpacePointBase::z
void z(const double z)
Definition: TrigSiSpacePointBase.h:53
TrigFTF_GNN_EdgeState::m_initialized
bool m_initialized
Definition: GNN_TrackingFilter.h:38
TrigSiSpacePointBase::r
void r(const double r)
Definition: TrigSiSpacePointBase.h:51
TrigFTF_GNN_EdgeState::m_refX
float m_refX
Definition: GNN_TrackingFilter.h:36
TrigFTF_GNN_EdgeState::m_c
float m_c
Definition: GNN_TrackingFilter.h:36
TrigSiSpacePointBase::y
void y(const double y)
Definition: TrigSiSpacePointBase.h:55
hist_file_dump.f
f
Definition: hist_file_dump.py:135
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
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
TrigFTF_GNN_Edge::m_n2
const TrigSiSpacePointBase * m_n2
Definition: GNN_DataStorage.h:93
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
TrigFTF_GNN_EdgeState::m_X
float m_X[3]
Definition: GNN_TrackingFilter.h:35
calibdata.copy
bool copy
Definition: calibdata.py:27
TrigFTF_GNN_Edge::m_n1
const TrigSiSpacePointBase * m_n1
Definition: GNN_DataStorage.h:92