|
CbmRoot
|
Magnetic field region, corresponding to a hit triplet. More...
#include <KfFieldRegion.h>
Public Types | |
| template<EFieldMode Mode> | |
| using | ConcreteFieldRegion_t = typename detail::ConcreteFieldRegion<T, Mode> |
| using | Interpolated_t = ConcreteFieldRegion_t<EFieldMode::Interpolated> |
| using | Original_t = ConcreteFieldRegion_t<EFieldMode::Original> |
| using | FieldRegionVariant_t = typename std::variant<Interpolated_t, Original_t> |
Public Member Functions | |
| FieldRegion ()=default | |
| Default constructor. | |
| FieldRegion (const FieldRegion &)=default | |
| Copy constructor. | |
| FieldRegion (FieldRegion &&)=default | |
| Move constructor. | |
| FieldRegion (const FieldValue< T > &b0, const FieldValue< T > &b1, const FieldValue< T > &b2) | |
| Constructor for interpolated field. | |
| FieldRegion (EFieldType type, const FieldFn_t &fieldFn) | |
| Constructor for original field. | |
| ~FieldRegion ()=default | |
| Constructor from a concrete field. | |
| FieldRegion & | operator= (const FieldRegion &)=default |
| Copy assignment operator. | |
| FieldRegion & | operator= (FieldRegion &&)=default |
| Move assignment operator. | |
| FieldValue< T > | Get (T x, T y, T z) const |
| Gets the field value in a spatial point on the track. | |
| template<EFieldMode FieldMode> | |
| ConcreteFieldRegion_t< FieldMode > * | GetConcrete () |
| Gets a pointer to the concrete field instance (mutable access) | |
| template<EFieldMode FieldMode> | |
| const ConcreteFieldRegion_t< FieldMode > * | GetConcrete () const |
| Gets a pointer to the concrete field instance (constant access) | |
| std::tuple< T, T, T > | GetDoubleIntegrals (T x1, T y1, T z1, T x2, T y2, T z2) const |
| Gets the double integrals of the field along the track. | |
| EFieldMode | GetFieldMode () const |
| Gets field mode. | |
| EFieldType | GetFieldType () const |
| Gets field type. | |
| void | Set (const FieldValue< T > &b0, const FieldValue< T > &b1, const FieldValue< T > &b2) |
| Interpolates the field by three nodal points with the second order polynomial. | |
| void | SetFieldType (EFieldType type) |
| Sets the field type. | |
| void | Shift (T z) |
| Shifts the coefficients to another first z-coordinate. | |
| void | CheckConsistency () const |
| Consistency checker. | |
| std::string | ToString (int indentLevel=0, int verbose=1) const |
| String representation of the class content. | |
Static Public Member Functions | |
| template<typename I> | |
| static FieldRegion | CopyConvert (const FieldRegion< I > &other) |
| Creates a converted copy of the field with a different floating point type. | |
| template<EFieldMode FieldMode, typename... Args> | |
| static constexpr FieldRegion | Create (Args... args) |
| Creates a field region. | |
| template<typename... Args> | |
| static constexpr FieldRegion | Create (EFieldMode mode, Args... args) |
| Creates a field region. | |
Private Member Functions | |
| template<typename I, EFieldMode FieldMode> | |
| FieldRegion (const FieldRegion< I > &other, Tag< FieldMode >) | |
| Constructor from a field region with another floating point type. | |
| template<class Archive> | |
| void | load (Archive &ar, const unsigned int) |
| Serialization load method. | |
| template<class Archive> | |
| void | save (Archive &ar, const unsigned int) const |
| Serialization save method. | |
| template<class Archive> | |
| void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
| FieldRegionVariant_t | fFrVariant |
| A variant of concrete field region. | |
Friends | |
| template<typename> | |
| class | FieldRegion |
| class | boost::serialization::access |
| Serialization method. | |
Magnetic field region, corresponding to a hit triplet.
| T | Underlying data-type |
Definition at line 307 of file KfFieldRegion.h.
| using cbm::algo::kf::FieldRegion< T >::ConcreteFieldRegion_t = typename detail::ConcreteFieldRegion<T, Mode> |
Definition at line 313 of file KfFieldRegion.h.
| using cbm::algo::kf::FieldRegion< T >::FieldRegionVariant_t = typename std::variant<Interpolated_t, Original_t> |
Definition at line 316 of file KfFieldRegion.h.
| using cbm::algo::kf::FieldRegion< T >::Interpolated_t = ConcreteFieldRegion_t<EFieldMode::Interpolated> |
Definition at line 314 of file KfFieldRegion.h.
| using cbm::algo::kf::FieldRegion< T >::Original_t = ConcreteFieldRegion_t<EFieldMode::Original> |
Definition at line 315 of file KfFieldRegion.h.
|
default |
Default constructor.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inline |
Constructor for interpolated field.
| b0 | Field value at the first nodal point [kG] |
| b1 | Field value at the second nodal point [kG] |
| b2 | Field value at the third nodal point [kG] |
Definition at line 331 of file KfFieldRegion.h.
|
inline |
Constructor for original field.
| type | Field type |
| fieldFn | External magnetic field function |
Definition at line 339 of file KfFieldRegion.h.
|
inlineprivate |
Constructor from a field region with another floating point type.
| I | Underlying floating point type of another field region |
| FieldMode | Mode of the another field region |
Definition at line 490 of file KfFieldRegion.h.
|
default |
Constructor from a concrete field.
Destructor
|
inline |
Consistency checker.
Definition at line 471 of file KfFieldRegion.h.
|
inlinestatic |
Creates a converted copy of the field with a different floating point type.
| I | underlying type of the class |
| other | A source field of different type |
Definition at line 359 of file KfFieldRegion.h.
|
inlinestaticconstexpr |
Creates a field region.
Definition at line 416 of file KfFieldRegion.h.
|
inlinestaticconstexpr |
Creates a field region.
| mode | Field mode |
| args | Arguments to be passed to a concrete constructor |
Definition at line 425 of file KfFieldRegion.h.
|
inline |
Gets the field value in a spatial point on the track.
| x | x-coordinate of the point [cm] |
| y | y-coordinate of the point [cm] |
| z | z-coordinate of the point [cm] |
Definition at line 371 of file KfFieldRegion.h.
|
inline |
Gets a pointer to the concrete field instance (mutable access)
| FieldMode | Field mode |
Definition at line 380 of file KfFieldRegion.h.
|
inline |
Gets a pointer to the concrete field instance (constant access)
| FieldMode | Field mode |
Definition at line 389 of file KfFieldRegion.h.
|
inline |
Gets the double integrals of the field along the track.
Definition at line 395 of file KfFieldRegion.h.
|
inline |
Gets field mode.
Definition at line 403 of file KfFieldRegion.h.
|
inline |
Gets field type.
Definition at line 409 of file KfFieldRegion.h.
|
inlineprivate |
Serialization load method.
Definition at line 499 of file KfFieldRegion.h.
|
default |
Copy assignment operator.
|
default |
Move assignment operator.
|
inlineprivate |
Serialization save method.
Definition at line 508 of file KfFieldRegion.h.
|
inlineprivate |
Definition at line 521 of file KfFieldRegion.h.
|
inline |
Interpolates the field by three nodal points with the second order polynomial.
Definition at line 440 of file KfFieldRegion.h.
|
inline |
Sets the field type.
Definition at line 452 of file KfFieldRegion.h.
|
inline |
Shifts the coefficients to another first z-coordinate.
| z | new z-coordinate [cm] |
Definition at line 459 of file KfFieldRegion.h.
|
inline |
String representation of the class content.
| intdentLevel | Indent level |
| verbose | Verbosity level |
Definition at line 479 of file KfFieldRegion.h.
|
friend |
Serialization method.
Definition at line 519 of file KfFieldRegion.h.
Definition at line 309 of file KfFieldRegion.h.
|
private |
A variant of concrete field region.
Definition at line 526 of file KfFieldRegion.h.