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 9 of file RKLocalFieldProvider.h.

Member Typedef Documentation

Definition at line 12 of file RKLocalFieldProvider.h.

Definition at line 14 of file RKLocalFieldProvider.h.

Definition at line 13 of file RKLocalFieldProvider.h.

Definition at line 16 of file RKLocalFieldProvider.h.

Definition at line 15 of file RKLocalFieldProvider.h.

Definition at line 17 of file RKLocalFieldProvider.h.

Definition at line 18 of file RKLocalFieldProvider.h.

Definition at line 19 of file RKLocalFieldProvider.h.

Constructor & Destructor Documentation

RKLocalFieldProvider::RKLocalFieldProvider ( const MagVolume vol)
explicit

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

Definition at line 5 of file RKLocalFieldProvider.cc.

5  :
6  theVolume( vol), theFrame(vol), transform_(false) {}
const MagVolume & theVolume
RKLocalFieldProvider::RKLocalFieldProvider ( const MagVolume vol,
const Frame frame 
)

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

Definition at line 8 of file RKLocalFieldProvider.cc.

8  :
9  theVolume( vol), theFrame(frame), transform_(true) {}
const Frame & frame() const
The reference frame in which the field is defined.
const MagVolume & theVolume

Member Function Documentation

const Frame& RKLocalFieldProvider::frame ( ) const
inline

The reference frame in which the field is defined.

Definition at line 39 of file RKLocalFieldProvider.h.

Referenced by RKPropagatorInS::propagateParametersOnPlane().

39 {return theFrame;}
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 PathToPlane2Order::operator()(), and RKPropagatorInS::propagateParametersOnPlane().

12 {
13  if unlikely(transform_) {
16  }
17  return theVolume.fieldInTesla( lp).basicVector();
18 
19 }
#define unlikely(x)
LocalPoint toLocal(const GlobalPoint &gp) const
GlobalPoint toGlobal(const LocalPoint &lp) const
LocalVector fieldInTesla(const LocalPoint &lp) const
Definition: MagVolume.cc:11
const MagVolume & theVolume
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56
Vector RKLocalFieldProvider::inTesla ( double  x,
double  y,
double  z 
) const
inline

Definition at line 30 of file RKLocalFieldProvider.h.

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

Definition at line 34 of file RKLocalFieldProvider.h.

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

Member Data Documentation

const Frame& RKLocalFieldProvider::theFrame
private

Definition at line 44 of file RKLocalFieldProvider.h.

Referenced by inTesla().

const MagVolume& RKLocalFieldProvider::theVolume
private

Definition at line 43 of file RKLocalFieldProvider.h.

Referenced by inTesla().

bool RKLocalFieldProvider::transform_
private

Definition at line 45 of file RKLocalFieldProvider.h.

Referenced by inTesla().