CbmRoot
Loading...
Searching...
No Matches
cbm::algo::kf::FieldValue< T > Class Template Reference

Magnetic flux density vector. More...

#include <KfFieldValue.h>

Inheritance diagram for cbm::algo::kf::FieldValue< T >:
[legend]

Public Member Functions

 FieldValue ()=default
 Default constructor.
 
template<typename I >
 FieldValue (const I &bx, const I &by, const I &bz)
 Constructor from components.
 
template<typename I >
 FieldValue (const FieldValue< I > &other)
 Copy constructor.
 
 ~FieldValue ()=default
 Destructor.
 
FieldValueoperator= (const FieldValue &other)=default
 Copy assignment operator.
 
template<typename I >
void Set (const I &bx, const I &by, const I &bz)
 Constructor from components.
 
void SetSimdEntries (const FieldValue &other, const kf::utils::masktype< T > &mask)
 Combines the current magnetic field value with another one using a mask.
 
std::tuple< T, T, T > Get () const
 Gets magnetic flux density x, y, z-components [kG].
 
GetAbsSq () const
 Gets squared absolute magnetic flux [kG2].
 
GetAbs () const
 Gets absolute magnetic flux [kG].
 
GetComponent (int iD) const
 Gets component by index.
 
GetBx () const
 Gets magnetic flux x-component [kG].
 
GetBy () const
 Gets magnetic flux density y-component [kG].
 
GetBz () const
 Gets magnetic flux density z-component [kG].
 
bool IsZero () const
 Checks, if the field value is zero (negligible)
 
void CheckConsistency () const
 Consistency checker.
 
void SetSimdEntry (double bx, double by, double bz, size_t i)
 Sets magnetic flux density components to the field function.
 
std::string ToString (int indentLevel=0) const
 String representation of the field.
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Private Attributes

GeoVector_t< T > fB
 Magnetic flux vector [kG].
 

Friends

template<typename >
class FieldValue
 
class boost::serialization::access
 Serialization function.
 

Detailed Description

template<typename T>
class cbm::algo::kf::FieldValue< T >

Magnetic flux density vector.

Template Parameters
TUnderlying data-type (float, double, fvec)

Definition at line 31 of file KfFieldValue.h.

Constructor & Destructor Documentation

◆ FieldValue() [1/3]

template<typename T >
cbm::algo::kf::FieldValue< T >::FieldValue ( )
default

Default constructor.

Note
By default field is zero

◆ FieldValue() [2/3]

template<typename T >
template<typename I >
cbm::algo::kf::FieldValue< T >::FieldValue ( const I & bx,
const I & by,
const I & bz )
inline

Constructor from components.

Template Parameters
IData type of the input parameters
Parameters
bxx-component of magnetic field vector [kG]
byy-component of magnetic field vector [kG]
bzz-component of magnetic field vector [kG]

Definition at line 46 of file KfFieldValue.h.

◆ FieldValue() [3/3]

template<typename T >
template<typename I >
cbm::algo::kf::FieldValue< T >::FieldValue ( const FieldValue< I > & other)
inline

Copy constructor.

Template Parameters
IUnderlying data-type of the other object

Definition at line 54 of file KfFieldValue.h.

◆ ~FieldValue()

template<typename T >
cbm::algo::kf::FieldValue< T >::~FieldValue ( )
default

Destructor.

Member Function Documentation

◆ CheckConsistency()

template<typename T >
void cbm::algo::kf::FieldValue< T >::CheckConsistency ( ) const

Consistency checker.

Definition at line 20 of file KfFieldValue.cxx.

References cbm::algo::kf::utils::CheckSimdVectorEquality().

◆ Get()

template<typename T >
std::tuple< T, T, T > cbm::algo::kf::FieldValue< T >::Get ( ) const
inline

Gets magnetic flux density x, y, z-components [kG].

Returns
tuple (Bx, By, Bz)

Definition at line 89 of file KfFieldValue.h.

◆ GetAbs()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetAbs ( ) const
inline

Gets absolute magnetic flux [kG].

Definition at line 95 of file KfFieldValue.h.

Referenced by CbmL1::FieldApproxCheck().

◆ GetAbsSq()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetAbsSq ( ) const
inline

Gets squared absolute magnetic flux [kG2].

Definition at line 92 of file KfFieldValue.h.

◆ GetBx()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetBx ( ) const
inline

Gets magnetic flux x-component [kG].

Definition at line 102 of file KfFieldValue.h.

Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateStep(), and CbmL1::FieldApproxCheck().

◆ GetBy()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetBy ( ) const
inline

Gets magnetic flux density y-component [kG].

Definition at line 105 of file KfFieldValue.h.

Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateStep(), CbmL1::FieldApproxCheck(), and cbm::algo::ca::TrackFitter::FitCaTracks().

◆ GetBz()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetBz ( ) const
inline

Gets magnetic flux density z-component [kG].

Definition at line 108 of file KfFieldValue.h.

Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateStep(), and CbmL1::FieldApproxCheck().

◆ GetComponent()

template<typename T >
T cbm::algo::kf::FieldValue< T >::GetComponent ( int iD) const
inline

Gets component by index.

Parameters
iDindex of the component (i = 0: x, 1: y, 2: z)

Definition at line 99 of file KfFieldValue.h.

◆ IsZero()

template<typename T >
bool cbm::algo::kf::FieldValue< T >::IsZero ( ) const
inline

Checks, if the field value is zero (negligible)

Definition at line 111 of file KfFieldValue.h.

Referenced by cbm::algo::kf::FieldRegion< T >::Set().

◆ operator=()

template<typename T >
FieldValue & cbm::algo::kf::FieldValue< T >::operator= ( const FieldValue< T > & other)
default

Copy assignment operator.

◆ serialize()

template<typename T >
template<class Archive >
void cbm::algo::kf::FieldValue< T >::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 146 of file KfFieldValue.h.

◆ Set()

template<typename T >
template<typename I >
void cbm::algo::kf::FieldValue< T >::Set ( const I & bx,
const I & by,
const I & bz )
inline

Constructor from components.

Template Parameters
IData type of the input parameters
Parameters
bxx-component of magnetic field vector [kG]
byy-component of magnetic field vector [kG]
bzz-component of magnetic field vector [kG]

Definition at line 70 of file KfFieldValue.h.

Referenced by cbm::algo::ca::TripletConstructor::CreateTripletsForHit(), cbm::algo::ca::CloneMerger::Exec(), cbm::algo::ca::TrackExtender::FindMoreHits(), CbmL1PFFitter::Fit(), and cbm::algo::ca::TrackExtender::FitBranchFast().

◆ SetSimdEntries()

template<typename T >
void cbm::algo::kf::FieldValue< T >::SetSimdEntries ( const FieldValue< T > & other,
const kf::utils::masktype< T > & mask )
inline

Combines the current magnetic field value with another one using a mask.

Parameters
otherOther flux value
maskMask to perform a combination

Definition at line 80 of file KfFieldValue.h.

References cbm::algo::kf::FieldValue< T >::fB.

Referenced by CbmL1PFFitter::Fit(), and cbm::algo::ca::TrackFitter::FitCaTracks().

◆ SetSimdEntry()

template<typename T >
void cbm::algo::kf::FieldValue< T >::SetSimdEntry ( double bx,
double by,
double bz,
size_t i )
inline

Sets magnetic flux density components to the field function.

Parameters
bxx-component of the magnetic flux density [kG]
byy-component of the magnetic flux density [kG]
bzz-component of the magnetic flux density [kG]
iindex of the SIMD entry (ignored, if T is not a SIMD vector)

Definition at line 132 of file KfFieldValue.h.

Referenced by CbmL1PFFitter::CalculateFieldRegion(), CbmL1PFFitter::CalculateFieldRegionAtLastPoint(), CbmL1PFFitter::Fit(), cbm::algo::ca::TrackFitter::FitCaTracks(), CbmL1PFFitter::GetChiToVertex(), and cbm::algo::kf::GlobalField::GetFieldValue().

◆ ToString()

template<typename T >
std::string cbm::algo::kf::FieldValue< T >::ToString ( int indentLevel = 0) const

String representation of the field.

Definition at line 33 of file KfFieldValue.cxx.

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<typename T >
friend class boost::serialization::access
friend

Serialization function.

Definition at line 144 of file KfFieldValue.h.

◆ FieldValue

template<typename T >
template<typename >
friend class FieldValue
friend

Definition at line 33 of file KfFieldValue.h.

Member Data Documentation

◆ fB

template<typename T >
GeoVector_t<T> cbm::algo::kf::FieldValue< T >::fB
private
Initial value:
{
DataOut Cast(const DataT &val)
Converts a value of type DataT to type DataOut.
Definition KfUtils.h:212

Magnetic flux vector [kG].

Definition at line 152 of file KfFieldValue.h.

Referenced by cbm::algo::kf::FieldValue< T >::SetSimdEntries().


The documentation for this class was generated from the following files: