test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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="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.

34  : bcyl(findPar(fld)) {
35 
36 }
BCycl< float > bcyl
Definition: TkBfield.h:39

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().

40  {
41  float br; float bz;
42  float r2=x[0]*x[0]+x[1]*x[1];
43  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;
44 }
BCycl< float > bcyl
Definition: TkBfield.h:39
T sqrt(T t)
Definition: SSEVec.h:48
Definition: DDAxes.h:10
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().

46  {
47  float br; float bz;
48  float r2=x[0]*x[0]+x[1]*x[1];
49  bcyl(r2, x[2], br,bz);
50  Bxyz[0]=br*x[0];
51  Bxyz[1]=br*x[1];
52  Bxyz[2]=bz;
53 }
BCycl< float > bcyl
Definition: TkBfield.h:39
Definition: DDAxes.h:10

Member Data Documentation

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

Definition at line 39 of file TkBfield.h.

Referenced by getBrfz(), and getBxyz().