#include <KalFitElement.h>
Inheritance diagram for KalFitElement:
Public Member Functions | |
KalFitElement (const KalFitMaterial *material) | |
Constructor. | |
virtual | ~KalFitElement () |
Destructor. | |
virtual double | intersect (const KalFitTrack &track, HepPoint3D &x) const =0 |
Find intersection with Helix. | |
virtual double | intersect (const KalFitTrack &track, HepPoint3D &x, const HepPoint3D &point) const =0 |
const KalFitMaterial & | material (void) const |
Return Material of which Element is made. | |
virtual double | radius (void) const =0 |
Return distance in r-phi plane. | |
virtual void | updateTrack (KalFitTrack &track, int index) |
Update track according the material properties of the current element. | |
virtual void | updateTrack_rphi (KalFitTrack &track, int index) |
virtual void | updateTrack_alreadyfound (KalFitTrack &track, int index) |
virtual void | asso_rphi (Lpav &circ, KalFitTrack &track) |
virtual void | asso_rphi (KalFitTrack &track) |
bool | operator< (const KalFitElement &a) const |
Operator. | |
Static Public Member Functions | |
static int | muls (void) |
static int | loss (void) |
static void | muls (int i) |
static void | loss (int i) |
Protected Attributes | |
const KalFitMaterial * | material_ |
Material of this element. | |
Static Protected Attributes | |
static int | muls_ |
Flags. | |
static int | loss_ |
Definition at line 24 of file KalFitElement.h.
KalFitElement::KalFitElement | ( | const KalFitMaterial * | material | ) | [inline] |
virtual KalFitElement::~KalFitElement | ( | ) | [inline, virtual] |
void KalFitElement::asso_rphi | ( | KalFitTrack & | track | ) | [virtual] |
void KalFitElement::asso_rphi | ( | Lpav & | circ, | |
KalFitTrack & | track | |||
) | [virtual] |
virtual double KalFitElement::intersect | ( | const KalFitTrack & | track, | |
HepPoint3D & | x, | |||
const HepPoint3D & | point | |||
) | const [pure virtual] |
Implemented in KalFitCylinder.
virtual double KalFitElement::intersect | ( | const KalFitTrack & | track, | |
HepPoint3D & | x | |||
) | const [pure virtual] |
Find intersection with Helix.
Implemented in KalFitCylinder.
Referenced by updateTrack(), updateTrack_alreadyfound(), and updateTrack_rphi().
void KalFitElement::loss | ( | int | i | ) | [static] |
int KalFitElement::loss | ( | void | ) | [static] |
Definition at line 108 of file KalFitElement.cxx.
References loss_.
Referenced by KalFitAlg::filter_fwd_anal(), KalFitAlg::filter_fwd_calib(), KalFitAlg::initialize(), KalFitAlg::smoother_anal(), and KalFitAlg::smoother_calib().
00109 { 00110 return loss_; 00111 }
const KalFitMaterial& KalFitElement::material | ( | void | ) | const [inline] |
Return Material of which Element is made.
Definition at line 52 of file KalFitElement.h.
References material_.
00053 { 00054 return *material_; 00055 }
void KalFitElement::muls | ( | int | i | ) | [static] |
int KalFitElement::muls | ( | void | ) | [static] |
Definition at line 103 of file KalFitElement.cxx.
References muls_.
Referenced by KalFitAlg::filter_fwd_anal(), KalFitAlg::filter_fwd_calib(), KalFitAlg::initialize(), KalFitAlg::smoother_anal(), and KalFitAlg::smoother_calib().
00104 { 00105 return muls_; 00106 }
bool KalFitElement::operator< | ( | const KalFitElement & | a | ) | const [inline] |
virtual double KalFitElement::radius | ( | void | ) | const [pure virtual] |
void KalFitElement::updateTrack | ( | KalFitTrack & | track, | |
int | index | |||
) | [virtual] |
Update track according the material properties of the current element.
Definition at line 25 of file KalFitElement.cxx.
References KalFitTrack::eloss(), intersect(), loss_, material_, KalFitTrack::ms(), muls_, KalFitTrack::pivot_numf(), and x.
00026 { 00027 00028 HepPoint3D x; 00029 double path = intersect(track, x); 00030 00031 //cout<<"KalFitElement: path= "<<path<<" intersect x "<<x<<endl; 00032 00033 if(path > 0){ 00034 // move pivot 00035 00036 //std::cout<<"KalFitElement: track helix1= "<<track.a()<<std::endl; 00037 //std::cout<<" KalFitTrack::numf_: "<<KalFitTrack::numf_<<std::endl; 00038 //std::cout<<" KalFitTrack::muls_: "<<muls_<<std::endl; 00039 //std::cout<<" KalFitTrack::loss_: "<<loss_<<std::endl; 00040 00041 track.pivot_numf(x); 00042 00043 //std::cout<<"KalFitElement: track helix2= "<<track.a()<<std::endl; 00044 00045 00046 // multiple scattering and energy loss 00047 int index_element(index); 00048 if (index_element==0) index_element=1; 00049 if(muls_) track.ms(path, *material_, index_element); 00050 if(loss_) track.eloss(path, *material_, index_element); 00051 00052 //cout<<"KalFitElement: track helix3= "<<track.a()<<endl; 00053 } 00054 //cout<<"KalfitElement: track helix2= "<<track.a()<<endl; 00055 }
void KalFitElement::updateTrack_alreadyfound | ( | KalFitTrack & | track, | |
int | index | |||
) | [virtual] |
Definition at line 71 of file KalFitElement.cxx.
References KalFitTrack::eloss(), intersect(), loss_, material_, KalFitTrack::ms(), muls_, KalFitTrack::pivot_numf(), and x.
00073 { 00074 HepPoint3D x; 00075 double path = intersect(track, x); 00076 if(path > 0){ 00077 // move pivot 00078 track.pivot_numf(x); 00079 00080 // multiple scattering and energy loss 00081 if(muls_) track.ms(path, *material_, index); 00082 if(loss_) track.eloss(path, *material_, index); 00083 } 00084 }
void KalFitElement::updateTrack_rphi | ( | KalFitTrack & | track, | |
int | index | |||
) | [virtual] |
Definition at line 57 of file KalFitElement.cxx.
References KalFitTrack::eloss(), intersect(), loss_, material_, KalFitTrack::ms(), muls_, KalFitTrack::pivot_numf(), and x.
00058 { 00059 HepPoint3D x; 00060 double path = intersect(track, x); 00061 if(path > 0){ 00062 // move pivot 00063 track.pivot_numf(x); 00064 00065 // multiple scattering and energy loss 00066 if(muls_) track.ms(path, *material_, index); 00067 if(loss_) track.eloss(path, *material_, index); 00068 } 00069 }
int KalFitElement::loss_ [static, protected] |
Definition at line 32 of file KalFitElement.h.
Referenced by loss(), updateTrack(), updateTrack_alreadyfound(), and updateTrack_rphi().
const KalFitMaterial* KalFitElement::material_ [protected] |
Material of this element.
Definition at line 28 of file KalFitElement.h.
Referenced by material(), updateTrack(), updateTrack_alreadyfound(), and updateTrack_rphi().
int KalFitElement::muls_ [static, protected] |
Flags.
Definition at line 31 of file KalFitElement.h.
Referenced by muls(), updateTrack(), updateTrack_alreadyfound(), and updateTrack_rphi().