Project
Loading...
Searching...
No Matches
o2::field::MagneticWrapperChebyshev Class Reference

#include <MagneticWrapperChebyshev.h>

Inherits TNamed.

Public Member Functions

 MagneticWrapperChebyshev ()
 Default constructor.
 
 MagneticWrapperChebyshev (const MagneticWrapperChebyshev &src)
 Copy constructor.
 
 ~MagneticWrapperChebyshev () override
 
void copyFrom (const MagneticWrapperChebyshev &src)
 Copy method.
 
MagneticWrapperChebyshevoperator= (const MagneticWrapperChebyshev &rhs)
 Assignment operator.
 
void Clear (const Option_t *="") override
 Clears all dynamic parts.
 
Int_t getNumberOfParametersSol () const
 
Int_t getNumberOmCoordinatesSegmentsZSolenoid () const
 
Float_tgetSegZSol () const
 
Int_t getNumberOfParametersTPCIntegral () const
 
Int_t getNumberOmCoordinatesSegmentsZTPCInt () const
 
Int_t getNumberOfParametersTPCRatIntegral () const
 
Int_t getNumberOmCoordinatesSegmentsZTPCRatIntegral () const
 
Int_t getNumberOfParametersDip () const
 
Int_t getNumberOmCoordinatesSegmentsZDipole () const
 
Float_t getMaxZ () const
 
Float_t getMinZ () const
 
Float_t getMinZSol () const
 
Float_t getMaxZSol () const
 
Float_t getMaxRSol () const
 
Float_t getMinZDip () const
 
Float_t getMaxZDip () const
 
Float_t getMinZTPCIntegral () const
 
Float_t getMaxZTPCIntegral () const
 
Float_t getMaxRTPCIntegral () const
 
Float_t getMinZTPCRatIntegral () const
 
Float_t getMaxZTPCRatIntegral () const
 
Float_t getMaxRTPCRatIntegral () const
 
o2::math_utils::Chebyshev3DgetParameterSolenoid (Int_t ipar) const
 
o2::math_utils::Chebyshev3DgetParameterTPCRatIntegral (Int_t ipar) const
 
o2::math_utils::Chebyshev3DgetParameterTPCIntegral (Int_t ipar) const
 
o2::math_utils::Chebyshev3DgetParameterDipole (Int_t ipar) const
 
void Print (Option_t *="") const override
 Prints info.
 
virtual void Field (const Double_t *xyz, Double_t *b) const
 
Double_t getBz (const Double_t *xyz) const
 
void fieldCylindrical (const Double_t *rphiz, Double_t *b) const
 Computes field in Cylindircal coordinates.
 
void getTPCIntegral (const Double_t *xyz, Double_t *b) const
 
void getTPCIntegralCylindrical (const Double_t *rphiz, Double_t *b) const
 
void getTPCRatIntegral (const Double_t *xyz, Double_t *b) const
 
void getTPCRatIntegralCylindrical (const Double_t *rphiz, Double_t *b) const
 
Int_t findSolenoidSegment (const Double_t *xyz) const
 Finds the segment containing point xyz. If it is outside it finds the closest segment.
 
Int_t findTPCSegment (const Double_t *xyz) const
 Finds the segment containing point xyz. If it is outside it finds the closest segment.
 
Int_t findTPCRatSegment (const Double_t *xyz) const
 Finds the segment containing point xyz. If it is outside it finds the closest segment.
 
Int_t findDipoleSegment (const Double_t *xyz) const
 Finds the segment containing point xyz. If it is outside it finds the closest segment.
 

Static Public Member Functions

static void cylindricalToCartesianCylB (const Double_t *rphiz, const Double_t *brphiz, Double_t *bxyz)
 Converts field in cylindrical coordinates to cartesian system, point is in cyl.system.
 
static void cylindricalToCartesianCartB (const Double_t *xyz, const Double_t *brphiz, Double_t *bxyz)
 Converts field in cylindrical coordinates to cartesian system, point is in cart.system.
 
static void cartesianToCylindricalCartB (const Double_t *xyz, const Double_t *bxyz, Double_t *brphiz)
 Converts field in cylindrical coordinates to cartesian system, poin is in cart.system.
 
static void cartesianToCylindricalCylB (const Double_t *rphiz, const Double_t *bxyz, Double_t *brphiz)
 Converts field in cylindrical coordinates to cartesian system, point is in cyl.system.
 
static void cartesianToCylindrical (const Double_t *xyz, Double_t *rphiz)
 
static void cylindricalToCartesian (const Double_t *rphiz, Double_t *xyz)
 

Protected Member Functions

void fieldCylindricalSolenoid (const Double_t *rphiz, Double_t *b) const
 
Double_t fieldCylindricalSolenoidBz (const Double_t *rphiz) const
 

Detailed Description

Wrapper for the set of mag.field parameterizations by Chebyshev polinomials To obtain the field in cartesian coordinates/components use Field(double* xyz, double* bxyz); For cylindrical coordinates/components: fieldCylindrical(double* rphiz, double* brphiz) The solenoid part is parameterized in the volume R<500, -550<Z<550 cm The region R<423 cm, -343.3<Z<481.3 for 30kA and -343.3<Z<481.3 for 12kA is parameterized using measured data while outside the Tosca calculation is used (matched to data on the boundary of the measurements) Two options are possible: 1) BRING_TO_BOUNDARY is defined in the Chebyshev3D: If the querried point is outside of the validity region then the field at the closest point on the fitted surface is returned. 2) BRING_TO_BOUNDARY is not defined in the Chebyshev3D: If the querried point is outside of the validity region the return value for the field components are set to 0. To obtain the field integral in the TPC region from given point to nearest cathod plane (+- 250 cm) use: getTPCIntegral(double* xyz, double* bxyz); for cartesian frame or getTPCIntegralCylindrical(Double_t *rphiz, Double_t *b); for cylindrical frame The units are kiloGauss and cm.

Definition at line 52 of file MagneticWrapperChebyshev.h.

Constructor & Destructor Documentation

◆ MagneticWrapperChebyshev() [1/2]

MagneticWrapperChebyshev::MagneticWrapperChebyshev ( )

Default constructor.

Definition at line 34 of file MagneticWrapperChebyshev.cxx.

◆ MagneticWrapperChebyshev() [2/2]

MagneticWrapperChebyshev::MagneticWrapperChebyshev ( const MagneticWrapperChebyshev src)

Copy constructor.

Definition at line 101 of file MagneticWrapperChebyshev.cxx.

◆ ~MagneticWrapperChebyshev()

o2::field::MagneticWrapperChebyshev::~MagneticWrapperChebyshev ( )
inlineoverride

Definition at line 62 of file MagneticWrapperChebyshev.h.

Member Function Documentation

◆ cartesianToCylindrical()

void o2::field::MagneticWrapperChebyshev::cartesianToCylindrical ( const Double_t *  xyz,
Double_t *  rphiz 
)
inlinestatic

Definition at line 474 of file MagneticWrapperChebyshev.h.

◆ cartesianToCylindricalCartB()

void o2::field::MagneticWrapperChebyshev::cartesianToCylindricalCartB ( const Double_t *  xyz,
const Double_t *  bxyz,
Double_t *  brphiz 
)
inlinestatic

Converts field in cylindrical coordinates to cartesian system, poin is in cart.system.

Definition at line 452 of file MagneticWrapperChebyshev.h.

◆ cartesianToCylindricalCylB()

void o2::field::MagneticWrapperChebyshev::cartesianToCylindricalCylB ( const Double_t *  rphiz,
const Double_t *  bxyz,
Double_t *  brphiz 
)
inlinestatic

Converts field in cylindrical coordinates to cartesian system, point is in cyl.system.

Definition at line 464 of file MagneticWrapperChebyshev.h.

◆ Clear()

void MagneticWrapperChebyshev::Clear ( const Option_t *  = "")
override

Clears all dynamic parts.

Definition at line 305 of file MagneticWrapperChebyshev.cxx.

◆ copyFrom()

void MagneticWrapperChebyshev::copyFrom ( const MagneticWrapperChebyshev src)

Copy method.

Definition at line 170 of file MagneticWrapperChebyshev.cxx.

◆ cylindricalToCartesian()

void o2::field::MagneticWrapperChebyshev::cylindricalToCartesian ( const Double_t *  rphiz,
Double_t *  xyz 
)
inlinestatic

Definition at line 481 of file MagneticWrapperChebyshev.h.

◆ cylindricalToCartesianCartB()

void o2::field::MagneticWrapperChebyshev::cylindricalToCartesianCartB ( const Double_t *  xyz,
const Double_t *  brphiz,
Double_t *  bxyz 
)
inlinestatic

Converts field in cylindrical coordinates to cartesian system, point is in cart.system.

Definition at line 441 of file MagneticWrapperChebyshev.h.

◆ cylindricalToCartesianCylB()

void o2::field::MagneticWrapperChebyshev::cylindricalToCartesianCylB ( const Double_t *  rphiz,
const Double_t *  brphiz,
Double_t *  bxyz 
)
inlinestatic

Converts field in cylindrical coordinates to cartesian system, point is in cyl.system.

Definition at line 430 of file MagneticWrapperChebyshev.h.

◆ Field()

void MagneticWrapperChebyshev::Field ( const Double_t *  xyz,
Double_t *  b 
) const
virtual

Computes field in cartesian coordinates. If point is outside of the parameterized region it gets it at closest valid point

Definition at line 419 of file MagneticWrapperChebyshev.cxx.

◆ fieldCylindrical()

void o2::field::MagneticWrapperChebyshev::fieldCylindrical ( const Double_t *  rphiz,
Double_t *  b 
) const
inline

Computes field in Cylindircal coordinates.

Definition at line 422 of file MagneticWrapperChebyshev.h.

◆ fieldCylindricalSolenoid()

void MagneticWrapperChebyshev::fieldCylindricalSolenoid ( const Double_t *  rphiz,
Double_t *  b 
) const
protected

Compute Solenoid field in Cylindircal coordinates note: if the point is outside the volume it gets the field in closest parameterized point

Definition at line 736 of file MagneticWrapperChebyshev.cxx.

◆ fieldCylindricalSolenoidBz()

Double_t MagneticWrapperChebyshev::fieldCylindricalSolenoidBz ( const Double_t *  rphiz) const
protected

Compute Solenoid field in Cylindircal coordinates note: if the point is outside the volume it gets the field in closest parameterized point

Definition at line 752 of file MagneticWrapperChebyshev.cxx.

◆ findDipoleSegment()

Int_t MagneticWrapperChebyshev::findDipoleSegment ( const Double_t *  xyz) const

Finds the segment containing point xyz. If it is outside it finds the closest segment.

Definition at line 511 of file MagneticWrapperChebyshev.cxx.

◆ findSolenoidSegment()

Int_t MagneticWrapperChebyshev::findSolenoidSegment ( const Double_t *  xyz) const

Finds the segment containing point xyz. If it is outside it finds the closest segment.

Definition at line 557 of file MagneticWrapperChebyshev.cxx.

◆ findTPCRatSegment()

Int_t MagneticWrapperChebyshev::findTPCRatSegment ( const Double_t *  xyz) const

Finds the segment containing point xyz. If it is outside it finds the closest segment.

Definition at line 646 of file MagneticWrapperChebyshev.cxx.

◆ findTPCSegment()

Int_t MagneticWrapperChebyshev::findTPCSegment ( const Double_t *  xyz) const

Finds the segment containing point xyz. If it is outside it finds the closest segment.

Definition at line 601 of file MagneticWrapperChebyshev.cxx.

◆ getBz()

Double_t MagneticWrapperChebyshev::getBz ( const Double_t *  xyz) const

Computes Bz for the point in cartesian coordinates. If point is outside of the parameterized region it gets it at closest valid point

Definition at line 448 of file MagneticWrapperChebyshev.cxx.

◆ getMaxRSol()

Float_t o2::field::MagneticWrapperChebyshev::getMaxRSol ( ) const
inline

Definition at line 141 of file MagneticWrapperChebyshev.h.

◆ getMaxRTPCIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMaxRTPCIntegral ( ) const
inline

Definition at line 166 of file MagneticWrapperChebyshev.h.

◆ getMaxRTPCRatIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMaxRTPCRatIntegral ( ) const
inline

Definition at line 181 of file MagneticWrapperChebyshev.h.

◆ getMaxZ()

Float_t o2::field::MagneticWrapperChebyshev::getMaxZ ( ) const
inline

Definition at line 121 of file MagneticWrapperChebyshev.h.

◆ getMaxZDip()

Float_t o2::field::MagneticWrapperChebyshev::getMaxZDip ( ) const
inline

Definition at line 151 of file MagneticWrapperChebyshev.h.

◆ getMaxZSol()

Float_t o2::field::MagneticWrapperChebyshev::getMaxZSol ( ) const
inline

Definition at line 136 of file MagneticWrapperChebyshev.h.

◆ getMaxZTPCIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMaxZTPCIntegral ( ) const
inline

Definition at line 161 of file MagneticWrapperChebyshev.h.

◆ getMaxZTPCRatIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMaxZTPCRatIntegral ( ) const
inline

Definition at line 176 of file MagneticWrapperChebyshev.h.

◆ getMinZ()

Float_t o2::field::MagneticWrapperChebyshev::getMinZ ( ) const
inline

Definition at line 126 of file MagneticWrapperChebyshev.h.

◆ getMinZDip()

Float_t o2::field::MagneticWrapperChebyshev::getMinZDip ( ) const
inline

Definition at line 146 of file MagneticWrapperChebyshev.h.

◆ getMinZSol()

Float_t o2::field::MagneticWrapperChebyshev::getMinZSol ( ) const
inline

Definition at line 131 of file MagneticWrapperChebyshev.h.

◆ getMinZTPCIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMinZTPCIntegral ( ) const
inline

Definition at line 156 of file MagneticWrapperChebyshev.h.

◆ getMinZTPCRatIntegral()

Float_t o2::field::MagneticWrapperChebyshev::getMinZTPCRatIntegral ( ) const
inline

Definition at line 171 of file MagneticWrapperChebyshev.h.

◆ getNumberOfParametersDip()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOfParametersDip ( ) const
inline

Definition at line 111 of file MagneticWrapperChebyshev.h.

◆ getNumberOfParametersSol()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOfParametersSol ( ) const
inline

Definition at line 76 of file MagneticWrapperChebyshev.h.

◆ getNumberOfParametersTPCIntegral()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOfParametersTPCIntegral ( ) const
inline

Definition at line 91 of file MagneticWrapperChebyshev.h.

◆ getNumberOfParametersTPCRatIntegral()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOfParametersTPCRatIntegral ( ) const
inline

Definition at line 101 of file MagneticWrapperChebyshev.h.

◆ getNumberOmCoordinatesSegmentsZDipole()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOmCoordinatesSegmentsZDipole ( ) const
inline

Definition at line 116 of file MagneticWrapperChebyshev.h.

◆ getNumberOmCoordinatesSegmentsZSolenoid()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOmCoordinatesSegmentsZSolenoid ( ) const
inline

Definition at line 81 of file MagneticWrapperChebyshev.h.

◆ getNumberOmCoordinatesSegmentsZTPCInt()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOmCoordinatesSegmentsZTPCInt ( ) const
inline

Definition at line 96 of file MagneticWrapperChebyshev.h.

◆ getNumberOmCoordinatesSegmentsZTPCRatIntegral()

Int_t o2::field::MagneticWrapperChebyshev::getNumberOmCoordinatesSegmentsZTPCRatIntegral ( ) const
inline

Definition at line 106 of file MagneticWrapperChebyshev.h.

◆ getParameterDipole()

o2::math_utils::Chebyshev3D * o2::field::MagneticWrapperChebyshev::getParameterDipole ( Int_t  ipar) const
inline

Definition at line 201 of file MagneticWrapperChebyshev.h.

◆ getParameterSolenoid()

o2::math_utils::Chebyshev3D * o2::field::MagneticWrapperChebyshev::getParameterSolenoid ( Int_t  ipar) const
inline

Definition at line 186 of file MagneticWrapperChebyshev.h.

◆ getParameterTPCIntegral()

o2::math_utils::Chebyshev3D * o2::field::MagneticWrapperChebyshev::getParameterTPCIntegral ( Int_t  ipar) const
inline

Definition at line 196 of file MagneticWrapperChebyshev.h.

◆ getParameterTPCRatIntegral()

o2::math_utils::Chebyshev3D * o2::field::MagneticWrapperChebyshev::getParameterTPCRatIntegral ( Int_t  ipar) const
inline

Definition at line 191 of file MagneticWrapperChebyshev.h.

◆ getSegZSol()

Float_t * o2::field::MagneticWrapperChebyshev::getSegZSol ( ) const
inline

Definition at line 86 of file MagneticWrapperChebyshev.h.

◆ getTPCIntegral()

void MagneticWrapperChebyshev::getTPCIntegral ( const Double_t *  xyz,
Double_t *  b 
) const

Computes TPC region field integral in cartesian coordinates. If point is outside of the parameterized region it gets it at closeset valid point

Definition at line 691 of file MagneticWrapperChebyshev.cxx.

◆ getTPCIntegralCylindrical()

void MagneticWrapperChebyshev::getTPCIntegralCylindrical ( const Double_t *  rphiz,
Double_t *  b 
) const

Definition at line 766 of file MagneticWrapperChebyshev.cxx.

◆ getTPCRatIntegral()

void MagneticWrapperChebyshev::getTPCRatIntegral ( const Double_t *  xyz,
Double_t *  b 
) const

Computes TPCRat region field integral in cartesian coordinates. If point is outside of the parameterized region it gets it at closeset valid point

Definition at line 713 of file MagneticWrapperChebyshev.cxx.

◆ getTPCRatIntegralCylindrical()

void MagneticWrapperChebyshev::getTPCRatIntegralCylindrical ( const Double_t *  rphiz,
Double_t *  b 
) const

Definition at line 787 of file MagneticWrapperChebyshev.cxx.

◆ operator=()

MagneticWrapperChebyshev & MagneticWrapperChebyshev::operator= ( const MagneticWrapperChebyshev rhs)

Assignment operator.

Definition at line 296 of file MagneticWrapperChebyshev.cxx.

◆ Print()

void MagneticWrapperChebyshev::Print ( Option_t *  = "") const
override

Prints info.

Definition at line 470 of file MagneticWrapperChebyshev.cxx.


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