CMS 3D CMS Logo

Public Member Functions | Private Attributes

magfieldparam::TkBfield Class Reference

#include <TkBfield.h>

List of all members.

Public Member Functions

void getBrfz (float const *__restrict__ x, float *__restrict__ Brfz) const
 B out in cylindrical.
void getBxyz (float const *__restrict__ x, float *__restrict__ Bxyz) const
 B out in cartesian.
 TkBfield (std::string T="3_8T")

Private Attributes

BCycl< float > bcyl

Detailed Description

B-field in Tracker volume - based on the TOSCA computation version 1103l (tuned on MTCC measured field (fall 2006))

In: x[3]: coordinates (m) Out: B[3]: Bx,By,Bz (T) (getBxyz) Out: B[3]: Br,Bf,Bz (T) (getBrfz)

Valid for r<1.15m and |z|<2.80m

Author:
V.Karimaki 080228, 080407 new float version V.I. October 2012

Definition at line 26 of file TkBfield.h.


Constructor & Destructor Documentation

TkBfield::TkBfield ( std::string  T = "3_8T")

Definition at line 34 of file TkBfield.cc.

                                : bcyl(findPar(fld)) {

}

Member Function Documentation

void TkBfield::getBrfz ( float const *__restrict__  x,
float *__restrict__  Brfz 
) const

B out in cylindrical.

Definition at line 40 of file TkBfield.cc.

References bcyl, beamvalidation::br, diffTwoXMLs::r2, and mathSSE::sqrt().

                                                                                      {
  float br; float bz;
  float r2=x[0]*x[0]+x[1]*x[1];
  bcyl(x[0]*x[0]+x[1]*x[1],x[2], br, bz); Brfz[0]=std::sqrt(r2)*br; Brfz[1]=0; Brfz[2]=bz;
}
void TkBfield::getBxyz ( float const *__restrict__  x,
float *__restrict__  Bxyz 
) const

B out in cartesian.

Definition at line 46 of file TkBfield.cc.

References bcyl, beamvalidation::br, and diffTwoXMLs::r2.

Referenced by OAEParametrizedMagneticField::inTeslaUnchecked().

                                                                                      {
  float br; float bz;
  float r2=x[0]*x[0]+x[1]*x[1];
  bcyl(r2, x[2], br,bz);
  Bxyz[0]=br*x[0];
  Bxyz[1]=br*x[1];
  Bxyz[2]=bz;
}

Member Data Documentation

Definition at line 39 of file TkBfield.h.

Referenced by getBrfz(), and getBxyz().