#include <KalFitElement.h>
Inheritance diagram for KalFitElement:
Public Member Functions | |
virtual void | asso_rphi (KalFitTrack &track) |
virtual void | asso_rphi (Lpav &circ, KalFitTrack &track) |
virtual void | asso_rphi (KalFitTrack &track) |
virtual void | asso_rphi (Lpav &circ, KalFitTrack &track) |
virtual double | intersect (const KalFitTrack &track, HepPoint3D &x, const HepPoint3D &point) const =0 |
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 |
virtual double | intersect (const KalFitTrack &track, HepPoint3D &x) const =0 |
Find intersection with Helix. | |
KalFitElement (const KalFitMaterial *material) | |
Constructor. | |
KalFitElement (const KalFitMaterial *material) | |
Constructor. | |
const KalFitMaterial & | material (void) const |
Return Material of which Element is made. | |
const KalFitMaterial & | material (void) const |
Return Material of which Element is made. | |
bool | operator< (const KalFitElement &a) const |
Operator. | |
bool | operator< (const KalFitElement &a) const |
Operator. | |
virtual double | radius (void) const =0 |
Return distance in r-phi plane. | |
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 (KalFitTrack &track, int index) |
Update track according the material properties of the current element. | |
virtual void | updateTrack_alreadyfound (KalFitTrack &track, int index) |
virtual void | updateTrack_alreadyfound (KalFitTrack &track, int index) |
virtual void | updateTrack_rphi (KalFitTrack &track, int index) |
virtual void | updateTrack_rphi (KalFitTrack &track, int index) |
virtual | ~KalFitElement () |
Destructor. | |
virtual | ~KalFitElement () |
Destructor. | |
Static Public Member Functions | |
void | loss (int i) |
int | loss (void) |
void | loss (int i) |
int | loss (void) |
void | muls (int i) |
int | muls (void) |
void | muls (int i) |
int | muls (void) |
Protected Attributes | |
const KalFitMaterial * | material_ |
Material of this element. | |
const KalFitMaterial * | material_ |
Material of this element. | |
Static Protected Attributes | |
int | loss_ |
int | muls_ |
Flags. |
|
Constructor.
00037 : material_(material) 00038 {}
|
|
Destructor.
00041 {}
|
|
Constructor.
00037 : material_(material) 00038 {}
|
|
Destructor.
00041 {}
|
|
|
|
|
|
00091 {}
|
|
00088 {}
|
|
Implemented in KalFitCylinder, and KalFitCylinder. |
|
Find intersection with Helix.
Implemented in KalFitCylinder, and KalFitCylinder. |
|
Implemented in KalFitCylinder, and KalFitCylinder. |
|
Find intersection with Helix.
Implemented in KalFitCylinder, and KalFitCylinder. |
|
|
|
|
|
00099 { 00100 loss_ = i; 00101 }
|
|
00109 {
00110 return loss_;
00111 }
|
|
Return Material of which Element is made.
00053 {
00054 return *material_;
00055 }
|
|
Return Material of which Element is made.
00053 {
00054 return *material_;
00055 }
|
|
|
|
|
|
00094 { 00095 muls_ = i; 00096 }
|
|
00104 {
00105 return muls_;
00106 }
|
|
Operator.
|
|
Operator.
|
|
Return distance in r-phi plane.
Implemented in KalFitCylinder, and KalFitCylinder. |
|
Return distance in r-phi plane.
Implemented in KalFitCylinder, and KalFitCylinder. |
|
Update track according the material properties of the current element.
|
|
Update track according the material properties of the current element.
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 }
|
|
|
|
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 }
|
|
|
|
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 }
|
|
|
|
Material of this element.
|
|
Material of this element.
|
|
Flags.
|