CbmRoot
|
Namespaces | |
namespace | math |
namespace | simd |
Classes | |
struct | EnumClassHash |
Hash for unordered_map with enum class keys. More... | |
class | VecCopy |
Copies all/one SIMD entries from one class to the other class. More... | |
class | VecCopySpec |
class | VecCopySpec< TdataA, TdataB, false, false > |
class | VecCopySpec< TdataA, TdataB, false, true > |
class | VecCopySpec< TdataA, TdataB, true, false > |
class | VecCopySpec< TdataA, TdataB, true, true > |
Typedefs | |
template<typename T > | |
using | scaltype = typename std::conditional<std::is_same<T, fvec>::value, fscal, T>::type |
template<typename T > | |
using | masktype = typename std::conditional<std::is_same<T, fvec>::value, fmask, bool>::type |
Functions | |
template<typename DataT > | |
void | PrintSIMDmsg (std::stringstream &msg, DataT &v) |
Stingstream output operation for simd data. | |
template<> | |
void | CheckSimdVectorEquality (fvec v, const char *name) |
Checks, if a SIMD vector horizontally equal TODO: Find this method in the VC! | |
fvec | iif (const fmask &m, const fvec &t, const fvec &f) |
fvec | fabs (const fvec &v) |
template<typename T > | |
T | iif (bool b, T t, T f) |
template<typename T > | |
T | fabs (const T &v) |
template<typename T > | |
bool | isFull (const T &m) |
template<typename T > | |
T | max (const T &a, const T &b) |
bool | IsLikely (bool b) |
tell the CPU that the bool condition is likely to be true | |
bool | IsUnlikely (bool b) |
template<typename T > | |
bool | IsUndefined (const T &val) |
Checks whether a variable of a particular type defined. | |
template<typename T > | |
bool | IsFinite (const T &val) |
Checks whether a variable of a particular type is finite. | |
template<typename DataT > | |
void | CheckSimdVectorEquality (DataT, const char *) |
Checks, if a SIMD vector horizontally equal. | |
template<> | |
void | CheckSimdVectorEquality (fvec v, const char *name) |
Checks, if a SIMD vector horizontally equal. | |
Namespace contains compile-time constants definition for the CA tracking algorithm
using cbm::algo::kf::utils::masktype = typename std::conditional<std::is_same<T, fvec>::value, fmask, bool>::type |
using cbm::algo::kf::utils::scaltype = typename std::conditional<std::is_same<T, fvec>::value, fscal, T>::type |
|
inline |
void cbm::algo::kf::utils::CheckSimdVectorEquality | ( | fvec | v, |
const char * | name ) |
Checks, if a SIMD vector horizontally equal TODO: Find this method in the VC!
Checks, if a SIMD vector horizontally equal.
Definition at line 29 of file KfUtils.cxx.
References PrintSIMDmsg(), and v.
Referenced by cbm::algo::ca::Station< DataT >::CheckConsistency(), cbm::algo::kf::FieldSlice< T >::CheckConsistency(), and cbm::algo::kf::FieldValue< T >::CheckConsistency().
void cbm::algo::kf::utils::CheckSimdVectorEquality | ( | fvec | v, |
const char * | name ) |
Checks, if a SIMD vector horizontally equal.
Checks, if a SIMD vector horizontally equal.
Definition at line 29 of file KfUtils.cxx.
References PrintSIMDmsg(), and v.
Referenced by cbm::algo::ca::Station< DataT >::CheckConsistency(), cbm::algo::kf::FieldSlice< T >::CheckConsistency(), and cbm::algo::kf::FieldValue< T >::CheckConsistency().
Definition at line 30 of file KfUtils.h.
References v.
Referenced by cbm::algo::kf::utils::math::CholeskyFactorization(), cbm::algo::ca::TripletConstructor::CollectHits(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), cbm::algo::ca::TrackExtender::FindMoreHits(), cbm::algo::kf::TrackKalmanFilter< DataT >::GuessTrack(), and cbm::algo::ca::CloneMerger::InvertCholesky().
|
inline |
|
inline |
Definition at line 29 of file KfUtils.h.
Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::ApproximateBetheBloch(), cbm::algo::kf::TrackKalmanFilter< DataT >::ApproximateBetheBloch(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateLineNoField(), cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateStep(), cbm::algo::kf::TrackKalmanFilter< DataT >::Filter1d(), cbm::algo::kf::TrackKalmanFilter< DataT >::FilterVi(), cbm::algo::kf::TrackKalmanFilter< DataT >::GuessTrack(), cbm::algo::kf::TrackKalmanFilter< DataT >::MeasureVelocityWithQp(), cbm::algo::kf::TrackKalmanFilter< DataT >::MultipleScattering(), and cbm::algo::kf::TrackKalmanFilter< DataT >::MultipleScatteringInThickMaterial().
|
inline |
Checks whether a variable of a particular type is finite.
val | Value to check |
Definition at line 100 of file KfUtils.h.
References cbm::algo::kf::defs::Undef.
Referenced by cbm::algo::kf::TrackParamBase< T >::IsFinite().
|
inline |
Definition at line 45 of file KfUtils.h.
Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate().
|
inline |
|
inline |
Checks whether a variable of a particular type defined.
val | Value to be checked |
Definition at line 78 of file KfUtils.h.
References isnan(), and cbm::algo::kf::defs::Undef.
|
inline |
Definition at line 72 of file KfUtils.h.
Referenced by cbm::algo::ca::GridArea::GetNextGridEntry().
|
inline |
Definition at line 56 of file KfUtils.h.
Referenced by cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), and cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection().
void cbm::algo::kf::utils::PrintSIMDmsg | ( | std::stringstream & | msg, |
DataT & | v ) |
Stingstream output operation for simd data.
Definition at line 13 of file KfUtils.cxx.
References v.
Referenced by CheckSimdVectorEquality().