CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
mkfit::HitMatchPair Struct Reference

#include <HitStructures.h>

Public Member Functions

void consider_hit_for_overlap (int hit_idx, int module_id, float chi2)
 
HitMatchfind_overlap (int hit_idx, int module_id)
 
void reset ()
 

Public Attributes

HitMatch M [2]
 

Detailed Description

Definition at line 269 of file HitStructures.h.

Member Function Documentation

void mkfit::HitMatchPair::consider_hit_for_overlap ( int  hit_idx,
int  module_id,
float  chi2 
)
inline

Definition at line 277 of file HitStructures.h.

References HLT_FULL_cff::chi2, M, mkfit::HitMatch::m_chi2, and mkfit::HitMatch::m_hit_idx.

Referenced by mkfit::TrackCand::considerHitForOverlap().

277  {
278  if (module_id == M[0].m_module_id) {
279  if (chi2 < M[0].m_chi2) {
280  M[0].m_chi2 = chi2;
281  M[0].m_hit_idx = hit_idx;
282  }
283  } else if (module_id == M[1].m_module_id) {
284  if (chi2 < M[1].m_chi2) {
285  M[1].m_chi2 = chi2;
286  M[1].m_hit_idx = hit_idx;
287  }
288  } else {
289  if (M[0].m_chi2 > M[1].m_chi2) {
290  if (chi2 < M[0].m_chi2) {
291  M[0] = {hit_idx, module_id, chi2};
292  }
293  } else {
294  if (chi2 < M[1].m_chi2) {
295  M[1] = {hit_idx, module_id, chi2};
296  }
297  }
298  }
299  }
HitMatch* mkfit::HitMatchPair::find_overlap ( int  hit_idx,
int  module_id 
)
inline

Definition at line 301 of file HitStructures.h.

References M.

Referenced by mkfit::TrackCand::findOverlap().

301  {
302  if (module_id == M[0].m_module_id) {
303  if (M[1].m_hit_idx >= 0)
304  return &M[1];
305  } else if (module_id == M[1].m_module_id) {
306  if (M[0].m_hit_idx >= 0)
307  return &M[0];
308  } else {
309  if (M[0].m_chi2 <= M[1].m_chi2) {
310  if (M[0].m_hit_idx >= 0)
311  return &M[0];
312  } else {
313  if (M[1].m_hit_idx >= 0)
314  return &M[1];
315  }
316  }
317 
318  return nullptr;
319  }
void mkfit::HitMatchPair::reset ( void  )
inline

Definition at line 272 of file HitStructures.h.

References M, and mkfit::HitMatch::reset().

Referenced by mkfit::TrackCand::resetOverlaps().

272  {
273  M[0].reset();
274  M[1].reset();
275  }

Member Data Documentation

HitMatch mkfit::HitMatchPair::M[2]

Definition at line 270 of file HitStructures.h.

Referenced by consider_hit_for_overlap(), find_overlap(), and reset().