ATLAS Offline Software
Namespaces | Typedefs | Enumerations | Functions | Variables
TrackingDetails.h File Reference
#include "xAODTracking/TrackingPrimitives.h"
#include "Math/Vector4D.h"
#include <span>
Include dependency graph for TrackingDetails.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 xAOD
 ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
 
 xAOD::TrackingDetails
 

Typedefs

using xAOD::TrackingDetails::GenVecFourMom_t = ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double > >
 Base 4 Momentum type for TrackParticle. More...
 

Enumerations

enum  xAOD::TrackingDetails::covMatrixIndex {
  xAOD::TrackingDetails::d0_index =0, xAOD::TrackingDetails::z0_index =1, xAOD::TrackingDetails::phi_index =2, xAOD::TrackingDetails::th_index =3,
  xAOD::TrackingDetails::qp_index =4
}
 

Functions

float xAOD::TrackingDetails::charge (float qOverP)
 
GenVecFourMom_t xAOD::TrackingDetails::genvecP4 (float qOverP, float thetaT, float phiT, double m)
 
bool xAOD::TrackingDetails::definingParametersCovMatrixOffDiagCompr (std::span< const float > covMatrixOffDiag)
 
xAOD::ParametersCovMatrix_t xAOD::TrackingDetails::definingParametersCovMatrix (std::span< const float > covMatrixDiag, std::span< const float > covMatrixOffDiag, bool &valid)
 

Variables

constexpr std::size_t xAOD::TrackingDetails::COVMATRIX_OFFDIAG_VEC_COMPR_SIZE = 6
 
constexpr std::array< std::pair< covMatrixIndex, covMatrixIndex >, COVMATRIX_OFFDIAG_VEC_COMPR_SIZE > xAOD::TrackingDetails::covMatrixComprIndexPairs
 

Detailed Description

Helper functions for TrackingDetails accessors

This file contains helper functions for more complex accessors in xAOD::TrackParticle, and TrackingHelpers that are shared with the columnar environment. These are all implemented as inline standalone functions that get all the input variables passed in. That completely separates them from the xAOD classes/functions, as well as from the columnar environment.

This is implemented as header-only inline code, which should give it large flexibility in how it can be used without adding additional overhead. If any of these functions is too heavy it can later on be turned into a non-inlined function.

@warn None of these functions are meant to be called by the user directly. These are meant as the backend implementations of the corresponding accessors in xAOD::TrackingDetails and the corresponding columnar accessors.

Definition in file TrackingDetails.h.