CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
magfieldparam::TkBfield Class Reference

#include <TkBfield.h>

Public Member Functions

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

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)

Definition at line 48 of file TkBfield.cc.

48  : bcyl(findPar(fld)) {
49 }
BCycl< float > bcyl
Definition: TkBfield.h:42
TkBfield::TkBfield ( float  fld = 3.8)

Definition at line 45 of file TkBfield.cc.

45  : bcyl(findPar(fld)) {
46 }
BCycl< float > bcyl
Definition: TkBfield.h:42

Member Function Documentation

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

B out in cylindrical.

Definition at line 53 of file TkBfield.cc.

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

53  {
54  float br; float bz;
55  float r2=x[0]*x[0]+x[1]*x[1];
56  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;
57 }
BCycl< float > bcyl
Definition: TkBfield.h:42
T sqrt(T t)
Definition: SSEVec.h:18
void TkBfield::getBxyz ( float const *__restrict__  x,
float *__restrict__  Bxyz 
) const

B out in cartesian.

Definition at line 59 of file TkBfield.cc.

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

Referenced by OAEParametrizedMagneticField::inTeslaUnchecked().

59  {
60  float br; float bz;
61  float r2=x[0]*x[0]+x[1]*x[1];
62  bcyl(r2, x[2], br,bz);
63  Bxyz[0]=br*x[0];
64  Bxyz[1]=br*x[1];
65  Bxyz[2]=bz;
66 }
BCycl< float > bcyl
Definition: TkBfield.h:42

Member Data Documentation

BCycl<float> magfieldparam::TkBfield::bcyl
private

Definition at line 42 of file TkBfield.h.

Referenced by getBrfz(), and getBxyz().