CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
RKLocalFieldProvider Class Reference

#include <RKLocalFieldProvider.h>

Public Types

typedef GloballyPositioned< float > Frame
 
typedef Frame::GlobalPoint GlobalPoint
 
typedef Frame::GlobalVector GlobalVector
 
typedef Frame::LocalPoint LocalPoint
 
typedef Frame::LocalVector LocalVector
 
typedef Frame::PositionType Position
 
typedef Frame::RotationType Rotation
 
typedef GlobalVector::BasicVectorType Vector
 

Public Member Functions

const Frameframe () const
 The reference frame in which the field is defined. More...
 
Vector inTesla (const LocalPoint &lp) const
 the argument lp is in the local frame specified in the constructor More...
 
Vector inTesla (double x, double y, double z) const
 
Vector inTesla (const Vector &v) const
 
 RKLocalFieldProvider (const MagVolume &vol)
 Local field access to the MagVolume field, in the MagVolume frame. More...
 
 RKLocalFieldProvider (const MagVolume &vol, const Frame &frame)
 Local field access to the MagVolume field, transformed to the "frame" frame. More...
 

Private Attributes

const FrametheFrame
 
const MagVolumetheVolume
 
bool transform_
 

Detailed Description

Definition at line 10 of file RKLocalFieldProvider.h.

Member Typedef Documentation

◆ Frame

Definition at line 12 of file RKLocalFieldProvider.h.

◆ GlobalPoint

Definition at line 14 of file RKLocalFieldProvider.h.

◆ GlobalVector

Definition at line 13 of file RKLocalFieldProvider.h.

◆ LocalPoint

Definition at line 16 of file RKLocalFieldProvider.h.

◆ LocalVector

Definition at line 15 of file RKLocalFieldProvider.h.

◆ Position

Definition at line 17 of file RKLocalFieldProvider.h.

◆ Rotation

Definition at line 18 of file RKLocalFieldProvider.h.

◆ Vector

Definition at line 19 of file RKLocalFieldProvider.h.

Constructor & Destructor Documentation

◆ RKLocalFieldProvider() [1/2]

RKLocalFieldProvider::RKLocalFieldProvider ( const MagVolume vol)
explicit

Local field access to the MagVolume field, in the MagVolume frame.

Definition at line 6 of file RKLocalFieldProvider.cc.

6 : theVolume(vol), theFrame(vol), transform_(false) {}
const MagVolume & theVolume

◆ RKLocalFieldProvider() [2/2]

RKLocalFieldProvider::RKLocalFieldProvider ( const MagVolume vol,
const Frame frame 
)

Local field access to the MagVolume field, transformed to the "frame" frame.

Member Function Documentation

◆ frame()

const Frame& RKLocalFieldProvider::frame ( ) const
inline

The reference frame in which the field is defined.

Definition at line 35 of file RKLocalFieldProvider.h.

Referenced by RKPropagatorInS::propagateParametersOnPlane().

35 { return theFrame; }

◆ inTesla() [1/3]

RKLocalFieldProvider::Vector RKLocalFieldProvider::inTesla ( const LocalPoint lp) const

the argument lp is in the local frame specified in the constructor

Definition at line 11 of file RKLocalFieldProvider.cc.

References PV3DBase< T, PVType, FrameType >::basicVector(), MagVolume::fieldInTesla(), theFrame, theVolume, GloballyPositioned< T >::toGlobal(), GloballyPositioned< T >::toLocal(), transform_, and UNLIKELY.

Referenced by CartesianLorentzForce::operator()(), PathToPlane2Order::operator()(), and RKPropagatorInS::propagateParametersOnPlane().

11  {
12  if UNLIKELY (transform_) {
15  }
16  return theVolume.fieldInTesla(lp).basicVector();
17 }
GlobalPoint toGlobal(const LocalPoint &lp) const
LocalPoint toLocal(const GlobalPoint &gp) const
LocalVector fieldInTesla(const LocalPoint &lp) const
Definition: MagVolume.cc:11
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:53
const MagVolume & theVolume
#define UNLIKELY(x)
Definition: Likely.h:21

◆ inTesla() [2/3]

Vector RKLocalFieldProvider::inTesla ( double  x,
double  y,
double  z 
) const
inline

Definition at line 30 of file RKLocalFieldProvider.h.

References inTesla(), x, y, and z.

Referenced by inTesla().

30 { return inTesla(LocalPoint(x, y, z)); }
Frame::LocalPoint LocalPoint
Vector inTesla(const LocalPoint &lp) const
the argument lp is in the local frame specified in the constructor

◆ inTesla() [3/3]

Vector RKLocalFieldProvider::inTesla ( const Vector v) const
inline

Definition at line 32 of file RKLocalFieldProvider.h.

References inTesla(), and findQualityFiles::v.

Referenced by inTesla().

32 { return inTesla(LocalPoint(v)); }
Frame::LocalPoint LocalPoint
Vector inTesla(const LocalPoint &lp) const
the argument lp is in the local frame specified in the constructor

Member Data Documentation

◆ theFrame

const Frame& RKLocalFieldProvider::theFrame
private

Definition at line 39 of file RKLocalFieldProvider.h.

Referenced by inTesla().

◆ theVolume

const MagVolume& RKLocalFieldProvider::theVolume
private

Definition at line 38 of file RKLocalFieldProvider.h.

Referenced by inTesla().

◆ transform_

bool RKLocalFieldProvider::transform_
private

Definition at line 40 of file RKLocalFieldProvider.h.

Referenced by inTesla().