TGeoHelix Class Reference

#include <TGeoHelix.h>

Inheritance diagram for TGeoHelix:

TObject TObject List of all members.

Public Types

enum  EGeoHelixTypes
enum  EGeoHelixTypes

Public Member Functions

 TGeoHelix ()
 TGeoHelix (Double_t curvature, Double_t step, Int_t charge=1)
virtual ~TGeoHelix ()
void InitPoint (Double_t x0, Double_t y0, Double_t z0)
void InitPoint (Double_t *point)
void InitDirection (Double_t dirx, Double_t diry, Double_t dirz, Bool_t is_normalized=kTRUE)
void InitDirection (Double_t *dir, Bool_t is_normalized=kTRUE)
Double_t ComputeSafeStep (Double_t epsil=1E-6) const
const Double_tGetCurrentPoint () const
const Double_tGetCurrentDirection () const
Double_t GetXYcurvature () const
Double_t GetStep () const
Double_t GetTotalCurvature () const
Bool_t IsRightHanded () const
void ResetStep ()
Double_t StepToPlane (Double_t *point, Double_t *norm)
void SetCharge (Int_t charge)
void SetXYcurvature (Double_t curvature)
void SetField (Double_t bx, Double_t by, Double_t bz, Bool_t is_normalized=kTRUE)
void SetHelixStep (Double_t hstep)
void Step (Double_t step)
void UpdateHelix ()
 TGeoHelix ()
 TGeoHelix (Double_t curvature, Double_t step, Int_t charge=1)
virtual ~TGeoHelix ()
void InitPoint (Double_t x0, Double_t y0, Double_t z0)
void InitPoint (Double_t *point)
void InitDirection (Double_t dirx, Double_t diry, Double_t dirz, Bool_t is_normalized=kTRUE)
void InitDirection (Double_t *dir, Bool_t is_normalized=kTRUE)
Double_t ComputeSafeStep (Double_t epsil=1E-6) const
const Double_tGetCurrentPoint () const
const Double_tGetCurrentDirection () const
Double_t GetXYcurvature () const
Double_t GetStep () const
Double_t GetTotalCurvature () const
Bool_t IsRightHanded () const
void ResetStep ()
Double_t StepToPlane (Double_t *point, Double_t *norm)
void SetCharge (Int_t charge)
void SetXYcurvature (Double_t curvature)
void SetField (Double_t bx, Double_t by, Double_t bz, Bool_t is_normalized=kTRUE)
void SetHelixStep (Double_t hstep)
void Step (Double_t step)
void UpdateHelix ()

Private Attributes

Double_t fC
Double_t fS
Double_t fStep
Double_t fPhi
Double_t fPointInit [3]
Double_t fDirInit [3]
Double_t fPoint [3]
Double_t fDir [3]
Double_t fB [3]
Int_t fQ
TGeoHMatrixfMatrix
TGeoHMatrixfMatrix

Detailed Description

Definition at line 35 of file TGeoHelix.h.


Member Enumeration Documentation

enum TGeoHelix::EGeoHelixTypes

Definition at line 51 of file TGeoHelix.h.

enum TGeoHelix::EGeoHelixTypes

Definition at line 51 of file TGeoHelix.h.


Constructor & Destructor Documentation

TGeoHelix::TGeoHelix (  ) 

TGeoHelix::TGeoHelix ( Double_t  curvature,
Double_t  step,
Int_t  charge = 1 
)

Definition at line 70 of file TGeoHelix.cxx.

References fB, fDir, fDirInit, fMatrix, fPhi, fPoint, fPointInit, fQ, fStep, kFALSE, kHelixCircle, kHelixNeedUpdate, kHelixStraigth, kTRUE, TObject::SetBit(), SetCharge(), SetHelixStep(), and SetXYcurvature().

TGeoHelix::~TGeoHelix (  )  [virtual]

Definition at line 91 of file TGeoHelix.cxx.

References fMatrix.

TGeoHelix::TGeoHelix (  ) 

TGeoHelix::TGeoHelix ( Double_t  curvature,
Double_t  step,
Int_t  charge = 1 
)

virtual TGeoHelix::~TGeoHelix (  )  [virtual]


Member Function Documentation

void TGeoHelix::InitPoint ( Double_t  x0,
Double_t  y0,
Double_t  z0 
)

Definition at line 109 of file TGeoHelix.cxx.

References fPointInit, kHelixNeedUpdate, kTRUE, and TObject::SetBit().

Referenced by InitPoint().

void TGeoHelix::InitPoint ( Double_t point  ) 

Definition at line 119 of file TGeoHelix.cxx.

References InitPoint().

void TGeoHelix::InitDirection ( Double_t  dirx,
Double_t  diry,
Double_t  dirz,
Bool_t  is_normalized = kTRUE 
)

Definition at line 126 of file TGeoHelix.cxx.

References fDirInit, i, kHelixNeedUpdate, kTRUE, norm(), TObject::SetBit(), and TMath::Sqrt().

Referenced by InitDirection().

void TGeoHelix::InitDirection ( Double_t dir,
Bool_t  is_normalized = kTRUE 
)

Definition at line 139 of file TGeoHelix.cxx.

References InitDirection().

Double_t TGeoHelix::ComputeSafeStep ( Double_t  epsil = 1E-6  )  const

Definition at line 98 of file TGeoHelix.cxx.

References TMath::Abs(), c, fC, GetTotalCurvature(), kHelixStraigth, TMath::Sqrt(), TObject::TestBit(), and TGeoShape::Tolerance().

Referenced by StepToPlane().

const Double_t* TGeoHelix::GetCurrentPoint (  )  const [inline]

Definition at line 68 of file TGeoHelix.h.

References fPoint.

const Double_t* TGeoHelix::GetCurrentDirection (  )  const [inline]

Definition at line 69 of file TGeoHelix.h.

References fDir.

Double_t TGeoHelix::GetXYcurvature (  )  const [inline]

Definition at line 70 of file TGeoHelix.h.

References fC.

Double_t TGeoHelix::GetStep (  )  const [inline]

Definition at line 71 of file TGeoHelix.h.

References fStep.

Double_t TGeoHelix::GetTotalCurvature (  )  const

Definition at line 146 of file TGeoHelix.cxx.

References fC, fS, and k.

Referenced by ComputeSafeStep().

Bool_t TGeoHelix::IsRightHanded (  )  const [inline]

Definition at line 73 of file TGeoHelix.h.

References fQ, kFALSE, and kTRUE.

void TGeoHelix::ResetStep (  ) 

Definition at line 210 of file TGeoHelix.cxx.

References fDir, fDirInit, fPoint, fPointInit, and fStep.

Referenced by StepToPlane().

Double_t TGeoHelix::StepToPlane ( Double_t point,
Double_t norm 
)

Definition at line 257 of file TGeoHelix.cxx.

References TMath::Abs(), ComputeSafeStep(), ROOT::Math::gv_detail::dist(), fC, fDir, fPoint, kFALSE, kHelixNeedUpdate, kHelixStraigth, kTRUE, TMath::Max(), ResetStep(), Step(), TObject::TestBit(), and UpdateHelix().

void TGeoHelix::SetCharge ( Int_t  charge  ) 

Definition at line 170 of file TGeoHelix.cxx.

References TObject::Error(), fQ, kHelixNeedUpdate, kTRUE, TObject::SetBit(), and TMath::Sign().

Referenced by TGeoHelix().

void TGeoHelix::SetXYcurvature ( Double_t  curvature  ) 

Definition at line 154 of file TGeoHelix.cxx.

References TMath::Abs(), TObject::Error(), fC, kHelixNeedUpdate, kHelixStraigth, kTRUE, TObject::SetBit(), TGeoShape::Tolerance(), and TObject::Warning().

Referenced by TGeoHelix().

void TGeoHelix::SetField ( Double_t  bx,
Double_t  by,
Double_t  bz,
Bool_t  is_normalized = kTRUE 
)

Definition at line 184 of file TGeoHelix.cxx.

References fB, i, kHelixNeedUpdate, kTRUE, norm(), TObject::SetBit(), and TMath::Sqrt().

void TGeoHelix::SetHelixStep ( Double_t  hstep  ) 

Definition at line 197 of file TGeoHelix.cxx.

References TObject::Error(), fS, kHelixCircle, kHelixNeedUpdate, kTRUE, TMath::Pi(), TObject::SetBit(), and TGeoShape::Tolerance().

Referenced by TGeoHelix().

void TGeoHelix::Step ( Double_t  step  ) 

Definition at line 219 of file TGeoHelix.cxx.

References TMath::Cos(), fB, fC, fDir, fDirInit, fMatrix, fPhi, fPoint, fPointInit, fQ, fS, fStep, i, kHelixNeedUpdate, kHelixStraigth, TGeoMatrix::LocalToMaster(), TGeoMatrix::LocalToMasterVect(), TMath::Sin(), TMath::Sqrt(), TObject::TestBit(), and UpdateHelix().

Referenced by StepToPlane().

void TGeoHelix::UpdateHelix (  ) 

Definition at line 310 of file TGeoHelix.cxx.

References TMath::Abs(), TGeoHMatrix::Clear(), fB, fC, fDir, fDirInit, fMatrix, fPoint, fPointInit, fQ, fS, fStep, kFALSE, kHelixNeedUpdate, kHelixStraigth, kTRUE, TObject::SetBit(), TGeoHMatrix::SetRotation(), TGeoHMatrix::SetTranslation(), TMath::Sqrt(), and TGeoShape::Tolerance().

Referenced by Step(), and StepToPlane().

void TGeoHelix::InitPoint ( Double_t  x0,
Double_t  y0,
Double_t  z0 
)

void TGeoHelix::InitPoint ( Double_t point  ) 

void TGeoHelix::InitDirection ( Double_t  dirx,
Double_t  diry,
Double_t  dirz,
Bool_t  is_normalized = kTRUE 
)

void TGeoHelix::InitDirection ( Double_t dir,
Bool_t  is_normalized = kTRUE 
)

Double_t TGeoHelix::ComputeSafeStep ( Double_t  epsil = 1E-6  )  const

const Double_t* TGeoHelix::GetCurrentPoint (  )  const [inline]

Definition at line 68 of file TGeoHelix.h.

References fPoint.

const Double_t* TGeoHelix::GetCurrentDirection (  )  const [inline]

Definition at line 69 of file TGeoHelix.h.

References fDir.

Double_t TGeoHelix::GetXYcurvature (  )  const [inline]

Definition at line 70 of file TGeoHelix.h.

References fC.

Double_t TGeoHelix::GetStep (  )  const [inline]

Definition at line 71 of file TGeoHelix.h.

References fStep.

Double_t TGeoHelix::GetTotalCurvature (  )  const

Bool_t TGeoHelix::IsRightHanded (  )  const [inline]

Definition at line 73 of file TGeoHelix.h.

References fQ, kFALSE, and kTRUE.

void TGeoHelix::ResetStep (  ) 

Double_t TGeoHelix::StepToPlane ( Double_t point,
Double_t norm 
)

void TGeoHelix::SetCharge ( Int_t  charge  ) 

void TGeoHelix::SetXYcurvature ( Double_t  curvature  ) 

void TGeoHelix::SetField ( Double_t  bx,
Double_t  by,
Double_t  bz,
Bool_t  is_normalized = kTRUE 
)

void TGeoHelix::SetHelixStep ( Double_t  hstep  ) 

void TGeoHelix::Step ( Double_t  step  ) 

void TGeoHelix::UpdateHelix (  ) 


Member Data Documentation

Double_t TGeoHelix::fC [private]

Definition at line 38 of file TGeoHelix.h.

Referenced by ComputeSafeStep(), GetTotalCurvature(), GetXYcurvature(), SetXYcurvature(), Step(), StepToPlane(), and UpdateHelix().

Double_t TGeoHelix::fS [private]

Definition at line 39 of file TGeoHelix.h.

Referenced by GetTotalCurvature(), SetHelixStep(), Step(), and UpdateHelix().

Double_t TGeoHelix::fStep [private]

Definition at line 40 of file TGeoHelix.h.

Referenced by GetStep(), ResetStep(), Step(), TGeoHelix(), and UpdateHelix().

Double_t TGeoHelix::fPhi [private]

Definition at line 41 of file TGeoHelix.h.

Referenced by Step(), and TGeoHelix().

Double_t TGeoHelix::fPointInit [private]

Definition at line 42 of file TGeoHelix.h.

Referenced by InitPoint(), ResetStep(), Step(), TGeoHelix(), and UpdateHelix().

Double_t TGeoHelix::fDirInit [private]

Definition at line 43 of file TGeoHelix.h.

Referenced by InitDirection(), ResetStep(), Step(), TGeoHelix(), and UpdateHelix().

Double_t TGeoHelix::fPoint [private]

Definition at line 44 of file TGeoHelix.h.

Referenced by GetCurrentPoint(), ResetStep(), Step(), StepToPlane(), TGeoHelix(), and UpdateHelix().

Double_t TGeoHelix::fDir [private]

Definition at line 45 of file TGeoHelix.h.

Referenced by GetCurrentDirection(), ResetStep(), Step(), StepToPlane(), TGeoHelix(), and UpdateHelix().

Double_t TGeoHelix::fB [private]

Definition at line 46 of file TGeoHelix.h.

Referenced by SetField(), Step(), TGeoHelix(), and UpdateHelix().

Int_t TGeoHelix::fQ [private]

Definition at line 47 of file TGeoHelix.h.

Referenced by IsRightHanded(), SetCharge(), Step(), TGeoHelix(), and UpdateHelix().

TGeoHMatrix* TGeoHelix::fMatrix [private]

Definition at line 48 of file TGeoHelix.h.

Referenced by Step(), TGeoHelix(), UpdateHelix(), and ~TGeoHelix().

TGeoHMatrix* TGeoHelix::fMatrix [private]

Definition at line 48 of file TGeoHelix.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:38:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1