CbmRoot
Loading...
Searching...
No Matches
CaDefs.h File Reference

Compile-time constants definition for the CA tracking algorithm. More...

#include "CaSimd.h"
#include "KfFramework.h"
#include "KfTrackParam.h"
#include <limits>
Include dependency graph for CaDefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cbm
 
namespace  cbm::algo
 
namespace  cbm::algo::ca
 TODO: SZh 8.11.2022: add selection of parameterisation.
 
namespace  cbm::algo::ca::constants
 
namespace  cbm::algo::ca::constants::size
 Array sizes.
 
namespace  cbm::algo::ca::constants::control
 Control flags.
 
namespace  cbm::algo::ca::constants::phys
 Physics constants.
 
namespace  cbm::algo::ca::constants::math
 Math constants.
 
namespace  cbm::algo::ca::constants::misc
 Miscellaneous constants.
 
namespace  cbm::algo::ca::constants::clrs
 Colors of terminal log messages.
 

Variables

constexpr int cbm::algo::ca::constants::size::MaxFieldApproxPolynomialOrder {5}
 Order of polynomial to approximate field in the vicinity of station plane.
 
constexpr int cbm::algo::ca::constants::size::MaxNFieldApproxCoefficients
 Amount of coefficients in field approximations.
 
constexpr unsigned int cbm::algo::ca::constants::size::StationBits = 6u
 Amount of bits to code a station or triplet. This values determine the maximum number of stations and tripĆ¼lets.
 
constexpr unsigned int cbm::algo::ca::constants::size::TripletBits = 32u - StationBits
 Amount of bits to code one triplet.
 
constexpr int cbm::algo::ca::constants::size::MaxNdetectors = 5
 Max number of tracking detectors.
 
constexpr int cbm::algo::ca::constants::size::MaxNstations = 1u << StationBits
 Max number of stations, 2^6 = 64.
 
constexpr int cbm::algo::ca::constants::size::MaxNtriplets = 1u << TripletBits
 Max number of triplets, 2^26 = 67,108,864.
 
constexpr uint8_t cbm::algo::ca::constants::size::DetBits = 4u
 Maximum 16 detector systems.
 
constexpr int cbm::algo::ca::constants::size::MaxNtrackGroups = 4
 
constexpr int cbm::algo::ca::constants::control::InputDataQaLevel = 0
 Flag: input data QA level.
 
constexpr double cbm::algo::ca::constants::phys::MuonMassD = 0.105658375523
 Particle masses etc used for the track fit, double precision.
 
constexpr double cbm::algo::ca::constants::phys::PionMassD = 0.1395703918
 Pion mass [GeV/c2].
 
constexpr double cbm::algo::ca::constants::phys::KaonMassD = 0.493677f
 Kaon mass [GeV/c2] (PDG 22.08.2023)
 
constexpr double cbm::algo::ca::constants::phys::ElectronMassD = 0.0005109989500015
 Electron mass [GeV/c2].
 
constexpr double cbm::algo::ca::constants::phys::ProtonMassD = 0.93827208816
 Proton mass [GeV/c2] (PDG 11.08.2022)
 
constexpr double cbm::algo::ca::constants::phys::SpeedOfLightD = 29.9792458
 Speed of light [cm/ns].
 
constexpr double cbm::algo::ca::constants::phys::SpeedOfLightInvD = 1. / SpeedOfLightD
 Inverse speed of light [ns/cm].
 
constexpr fscal cbm::algo::ca::constants::phys::MuonMass = MuonMassD
 Particle masses etc used for the track fit, fscal precision.
 
constexpr fscal cbm::algo::ca::constants::phys::PionMass = PionMassD
 Pion mass [GeV/c2].
 
constexpr fscal cbm::algo::ca::constants::phys::KaonMass = KaonMassD
 Kaon mass [GeV/c2] (PDG 22.08.2023)
 
constexpr fscal cbm::algo::ca::constants::phys::ElectronMass = ElectronMassD
 Electron mass [GeV/c2].
 
constexpr fscal cbm::algo::ca::constants::phys::ProtonMass = ProtonMassD
 Proton mass [GeV/c2] (PDG 11.08.2022)
 
constexpr fscal cbm::algo::ca::constants::phys::SpeedOfLight = SpeedOfLightD
 Speed of light [cm/ns].
 
constexpr fscal cbm::algo::ca::constants::phys::SpeedOfLightInv = SpeedOfLightInvD
 Inverse speed of light [ns/cm].
 
constexpr double cbm::algo::ca::constants::math::Pi = 3.14159265358979323846
 Value of PI, used in ROOT TMath.
 
constexpr int cbm::algo::ca::constants::misc::AssertionLevel = 0
 Assertion level.
 
constexpr int cbm::algo::ca::constants::misc::Alignment = 16
 Default alignment of data (bytes)
 
constexpr fscal cbm::algo::ca::constants::misc::NegligibleFieldkG = 1.e-4
 Negligible field [kG].
 
template<typename T1 , typename T2 = T1>
constexpr T2 cbm::algo::ca::constants::Undef
 Undefined values.
 
template<>
constexpr int cbm::algo::ca::constants::Undef< int > = std::numeric_limits<int>::min()
 
template<>
constexpr unsigned cbm::algo::ca::constants::Undef< unsigned > = std::numeric_limits<unsigned>::max()
 
template<>
constexpr float cbm::algo::ca::constants::Undef< float > = std::numeric_limits<float>::signaling_NaN()
 
template<>
constexpr double cbm::algo::ca::constants::Undef< double > = std::numeric_limits<double>::signaling_NaN()
 
template<>
constexpr fscal cbm::algo::ca::constants::Undef< fvec > = std::numeric_limits<fscal>::signaling_NaN()
 
constexpr char cbm::algo::ca::constants::clrs::CL [] = "\e[0m"
 clear
 
constexpr char cbm::algo::ca::constants::clrs::CLb [] = "\e[1m"
 clear bold
 
constexpr char cbm::algo::ca::constants::clrs::CLi [] = "\e[3m"
 clear italic
 
constexpr char cbm::algo::ca::constants::clrs::CLu [] = "\e[4m"
 clear underline
 
constexpr char cbm::algo::ca::constants::clrs::CLr [] = "\e[7m"
 clear reverse
 
constexpr char cbm::algo::ca::constants::clrs::CLbi [] = "\e[1;3m"
 clear bold-italic
 
constexpr char cbm::algo::ca::constants::clrs::CLbu [] = "\e[1;4m"
 clear bold-underline
 
constexpr char cbm::algo::ca::constants::clrs::CLbr [] = "\e[1;7m"
 clear bold-reverse
 
constexpr char cbm::algo::ca::constants::clrs::BK [] = "\e[30m"
 normal black
 
constexpr char cbm::algo::ca::constants::clrs::RD [] = "\e[31m"
 normal red
 
constexpr char cbm::algo::ca::constants::clrs::GN [] = "\e[32m"
 normal green
 
constexpr char cbm::algo::ca::constants::clrs::YL [] = "\e[33m"
 normal yellow
 
constexpr char cbm::algo::ca::constants::clrs::BL [] = "\e[34m"
 normal blue
 
constexpr char cbm::algo::ca::constants::clrs::MG [] = "\e[35m"
 normal magenta
 
constexpr char cbm::algo::ca::constants::clrs::CY [] = "\e[36m"
 normal cyan
 
constexpr char cbm::algo::ca::constants::clrs::GY [] = "\e[37m"
 normal grey
 
constexpr char cbm::algo::ca::constants::clrs::WT [] = "\e[38m"
 normal white
 
constexpr char cbm::algo::ca::constants::clrs::BKb [] = "\e[1;30m"
 bold black
 
constexpr char cbm::algo::ca::constants::clrs::RDb [] = "\e[1;31m"
 bold red
 
constexpr char cbm::algo::ca::constants::clrs::GNb [] = "\e[1;32m"
 bold green
 
constexpr char cbm::algo::ca::constants::clrs::YLb [] = "\e[1;33m"
 bold yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLb [] = "\e[1;34m"
 bold blue
 
constexpr char cbm::algo::ca::constants::clrs::MGb [] = "\e[1;35m"
 bold magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYb [] = "\e[1;36m"
 bold cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYb [] = "\e[1;37m"
 bold grey
 
constexpr char cbm::algo::ca::constants::clrs::WTb [] = "\e[1;38m"
 bold white
 
constexpr char cbm::algo::ca::constants::clrs::BKi [] = "\e[3;30m"
 italic black
 
constexpr char cbm::algo::ca::constants::clrs::RDi [] = "\e[3;31m"
 italic red
 
constexpr char cbm::algo::ca::constants::clrs::GNi [] = "\e[3;32m"
 italic green
 
constexpr char cbm::algo::ca::constants::clrs::YLi [] = "\e[3;33m"
 italic yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLi [] = "\e[3;34m"
 italic blue
 
constexpr char cbm::algo::ca::constants::clrs::MGi [] = "\e[3;35m"
 italic magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYi [] = "\e[3;36m"
 italic cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYi [] = "\e[3;37m"
 italic grey
 
constexpr char cbm::algo::ca::constants::clrs::WTi [] = "\e[3;38m"
 italic white
 
constexpr char cbm::algo::ca::constants::clrs::BKu [] = "\e[4;30m"
 underline black
 
constexpr char cbm::algo::ca::constants::clrs::RDu [] = "\e[4;31m"
 underline red
 
constexpr char cbm::algo::ca::constants::clrs::GNu [] = "\e[4;32m"
 underline green
 
constexpr char cbm::algo::ca::constants::clrs::YLu [] = "\e[4;33m"
 underline yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLu [] = "\e[4;34m"
 underline blue
 
constexpr char cbm::algo::ca::constants::clrs::MGu [] = "\e[4;35m"
 underline magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYu [] = "\e[4;36m"
 underline cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYu [] = "\e[4;37m"
 underline grey
 
constexpr char cbm::algo::ca::constants::clrs::WTu [] = "\e[4;38m"
 underline white
 
constexpr char cbm::algo::ca::constants::clrs::BKr [] = "\e[7;30m"
 reverse black
 
constexpr char cbm::algo::ca::constants::clrs::RDr [] = "\e[7;31m"
 reverse red
 
constexpr char cbm::algo::ca::constants::clrs::GNr [] = "\e[7;32m"
 reverse green
 
constexpr char cbm::algo::ca::constants::clrs::YLr [] = "\e[7;33m"
 reverse yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLr [] = "\e[7;34m"
 reverse blue
 
constexpr char cbm::algo::ca::constants::clrs::MGr [] = "\e[7;35m"
 reverse magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYr [] = "\e[7;36m"
 reverse cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYr [] = "\e[7;37m"
 reverse grey
 
constexpr char cbm::algo::ca::constants::clrs::WTr [] = "\e[7;38m"
 reverse white
 
constexpr char cbm::algo::ca::constants::clrs::BKbu [] = "\e[1;4;30m"
 bold-underline black
 
constexpr char cbm::algo::ca::constants::clrs::RDbu [] = "\e[1;4;31m"
 bold-underline red
 
constexpr char cbm::algo::ca::constants::clrs::GNbu [] = "\e[1;4;32m"
 bold-underline green
 
constexpr char cbm::algo::ca::constants::clrs::YLbu [] = "\e[1;4;33m"
 bold-underline yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLbu [] = "\e[1;4;34m"
 bold-underline blue
 
constexpr char cbm::algo::ca::constants::clrs::MGbu [] = "\e[1;4;35m"
 bold-underline magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYbu [] = "\e[1;4;36m"
 bold-underline cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYbu [] = "\e[1;4;37m"
 bold-underline grey
 
constexpr char cbm::algo::ca::constants::clrs::WTbu [] = "\e[1;4;38m"
 bold-underline white
 
constexpr char cbm::algo::ca::constants::clrs::BKbi [] = "\e[1;3;30m"
 bold-italic black
 
constexpr char cbm::algo::ca::constants::clrs::RDbi [] = "\e[1;3;31m"
 bold-italic red
 
constexpr char cbm::algo::ca::constants::clrs::GNbi [] = "\e[1;3;32m"
 bold-italic green
 
constexpr char cbm::algo::ca::constants::clrs::YLbi [] = "\e[1;3;33m"
 bold-italic yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLbi [] = "\e[1;3;34m"
 bold-italic blue
 
constexpr char cbm::algo::ca::constants::clrs::MGbi [] = "\e[1;3;35m"
 bold-italic magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYbi [] = "\e[1;3;36m"
 bold-italic cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYbi [] = "\e[1;3;37m"
 bold-italic grey
 
constexpr char cbm::algo::ca::constants::clrs::WTbi [] = "\e[1;3;38m"
 bold-italic white
 
constexpr char cbm::algo::ca::constants::clrs::BKbr [] = "\e[1;7;30m"
 bold-reverse black
 
constexpr char cbm::algo::ca::constants::clrs::RDbr [] = "\e[1;7;31m"
 bold-reverse red
 
constexpr char cbm::algo::ca::constants::clrs::GNbr [] = "\e[1;7;32m"
 bold-reverse green
 
constexpr char cbm::algo::ca::constants::clrs::YLbr [] = "\e[1;7;33m"
 bold-reverse yellow
 
constexpr char cbm::algo::ca::constants::clrs::BLbr [] = "\e[1;7;34m"
 bold-reverse blue
 
constexpr char cbm::algo::ca::constants::clrs::MGbr [] = "\e[1;7;35m"
 bold-reverse magenta
 
constexpr char cbm::algo::ca::constants::clrs::CYbr [] = "\e[1;7;36m"
 bold-reverse cyan
 
constexpr char cbm::algo::ca::constants::clrs::GYbr [] = "\e[1;7;37m"
 bold-reverse grey
 
constexpr char cbm::algo::ca::constants::clrs::WTbr [] = "\e[1;7;38m"
 bold-reverse white
 

Detailed Description

Compile-time constants definition for the CA tracking algorithm.

Since
02.06.2022
Author
S.Zharko s.zha.nosp@m.rko@.nosp@m.gsi.d.nosp@m.e

Definition in file CaDefs.h.