CbmRoot
Loading...
Searching...
No Matches
lit::parallel::LitFieldRegion< T > Class Template Reference

Storage for field approximation along Z. More...

#include <LitFieldRegion.h>

Public Member Functions

void Set (const LitFieldValue< T > &B0, const T B0z, const LitFieldValue< T > &B1, const T B1z, const LitFieldValue< T > &B2, const T B2z)
 Sets field region using three field values.
 
void Set (const LitFieldValue< T > &B0, const T B0z, const LitFieldValue< T > &B1, const T B1z)
 Sets field region using two field values.
 
void Shift (T z)
 
void GetFieldValue (const T &z, LitFieldValue< T > &B) const
 Returns field value at a certain Z position.
 

Private Attributes

cx0
 
cx1
 
cx2
 
cy0
 
cy1
 
cy2
 
cz0
 
cz1
 
cz2
 
z0
 

Detailed Description

template<class T>
class lit::parallel::LitFieldRegion< T >

Storage for field approximation along Z.

Author
Andrey Lebedev andre.nosp@m.y.le.nosp@m.bedev.nosp@m.@gsi.nosp@m..de
Date
2009

Field is approximated along Z coordinate using straight line or parabola.

Definition at line 32 of file LitFieldRegion.h.

Member Function Documentation

◆ GetFieldValue()

template<class T>
void lit::parallel::LitFieldRegion< T >::GetFieldValue ( const T & z,
LitFieldValue< T > & B ) const
inline

Returns field value at a certain Z position.

Parameters
[in]zZ position of the field value.
[out]BField value.

Definition at line 123 of file LitFieldRegion.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, and z0.

Referenced by lit::parallel::LitRK4Extrapolation().

◆ Set() [1/2]

template<class T>
void lit::parallel::LitFieldRegion< T >::Set ( const LitFieldValue< T > & B0,
const T B0z,
const LitFieldValue< T > & B1,
const T B1z )
inline

Sets field region using two field values.

In this case straight line approximation is used.

Parameters
[in]B0First field value.
[in]B0zZ position of the first field value.
[in]B1Second field value.
[in]B1zZ position of the second field value.

Definition at line 86 of file LitFieldRegion.h.

References lit::parallel::LitFieldValue< T >::Bx, lit::parallel::LitFieldValue< T >::By, lit::parallel::LitFieldValue< T >::Bz, cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, lit::parallel::rcp(), and z0.

◆ Set() [2/2]

template<class T>
void lit::parallel::LitFieldRegion< T >::Set ( const LitFieldValue< T > & B0,
const T B0z,
const LitFieldValue< T > & B1,
const T B1z,
const LitFieldValue< T > & B2,
const T B2z )
inline

Sets field region using three field values.

In this case parabolic approximation is used.

Parameters
[in]B0First field value.
[in]B0zZ position of the first field value.
[in]B1Second field value.
[in]B1zZ position of the second field value.
[in]B2Third field value.
[in]B2zZ position of the third field value.

Definition at line 46 of file LitFieldRegion.h.

References lit::parallel::LitFieldValue< T >::Bx, lit::parallel::LitFieldValue< T >::By, lit::parallel::LitFieldValue< T >::Bz, cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, lit::parallel::rcp(), and z0.

Referenced by lit::parallel::LitStationGroupMuon< fvec >::GetFieldRegion(), and lit::parallel::LitTrackFitterMuon().

◆ Shift()

template<class T>
void lit::parallel::LitFieldRegion< T >::Shift ( T z)
inline

Definition at line 102 of file LitFieldRegion.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, and z0.

Member Data Documentation

◆ cx0

template<class T>
T lit::parallel::LitFieldRegion< T >::cx0
private

Definition at line 133 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cx1

template<class T>
T lit::parallel::LitFieldRegion< T >::cx1
private

Definition at line 133 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cx2

template<class T>
T lit::parallel::LitFieldRegion< T >::cx2
private

Definition at line 133 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cy0

template<class T>
T lit::parallel::LitFieldRegion< T >::cy0
private

Definition at line 134 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cy1

template<class T>
T lit::parallel::LitFieldRegion< T >::cy1
private

Definition at line 134 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cy2

template<class T>
T lit::parallel::LitFieldRegion< T >::cy2
private

Definition at line 134 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cz0

template<class T>
T lit::parallel::LitFieldRegion< T >::cz0
private

Definition at line 135 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cz1

template<class T>
T lit::parallel::LitFieldRegion< T >::cz1
private

Definition at line 135 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ cz2

template<class T>
T lit::parallel::LitFieldRegion< T >::cz2
private

Definition at line 135 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().

◆ z0

template<class T>
T lit::parallel::LitFieldRegion< T >::z0
private

Definition at line 136 of file LitFieldRegion.h.

Referenced by GetFieldValue(), Set(), Set(), and Shift().


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