Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

KalFitElement Class Reference

#include <KalFitElement.h>

Inheritance diagram for KalFitElement:

KalFitCylinder KalFitCylinder List of all members.

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 KalFitMaterialmaterial (void) const
 Return Material of which Element is made.
const KalFitMaterialmaterial (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 KalFitMaterialmaterial_
 Material of this element.
const KalFitMaterialmaterial_
 Material of this element.

Static Protected Attributes

int loss_
int muls_
 Flags.

Detailed Description

Element is a base class which represents an element of detector


Constructor & Destructor Documentation

KalFitElement::KalFitElement const KalFitMaterial material  )  [inline]
 

Constructor.

00037     : material_(material)
00038   {}

virtual KalFitElement::~KalFitElement  )  [inline, virtual]
 

Destructor.

00041 {}

KalFitElement::KalFitElement const KalFitMaterial material  )  [inline]
 

Constructor.

00037     : material_(material)
00038   {}

virtual KalFitElement::~KalFitElement  )  [inline, virtual]
 

Destructor.

00041 {}


Member Function Documentation

virtual void KalFitElement::asso_rphi KalFitTrack track  )  [virtual]
 

virtual void KalFitElement::asso_rphi Lpav circ,
KalFitTrack track
[virtual]
 

void KalFitElement::asso_rphi KalFitTrack track  )  [virtual]
 

00091 {}

void KalFitElement::asso_rphi Lpav circ,
KalFitTrack track
[virtual]
 

00088 {}

virtual double KalFitElement::intersect const KalFitTrack track,
HepPoint3D x,
const HepPoint3D point
const [pure virtual]
 

Implemented in KalFitCylinder, and KalFitCylinder.

virtual double KalFitElement::intersect const KalFitTrack track,
HepPoint3D x
const [pure virtual]
 

Find intersection with Helix.

Implemented in KalFitCylinder, and KalFitCylinder.

virtual double KalFitElement::intersect const KalFitTrack track,
HepPoint3D x,
const HepPoint3D point
const [pure virtual]
 

Implemented in KalFitCylinder, and KalFitCylinder.

virtual double KalFitElement::intersect const KalFitTrack track,
HepPoint3D x
const [pure virtual]
 

Find intersection with Helix.

Implemented in KalFitCylinder, and KalFitCylinder.

void KalFitElement::loss int  i  )  [static]
 

int KalFitElement::loss void   )  [static]
 

void KalFitElement::loss int  i  )  [static]
 

00099 {
00100   loss_ = i;
00101 }

int KalFitElement::loss void   )  [static]
 

00109 {
00110   return loss_;
00111 }

const KalFitMaterial& KalFitElement::material void   )  const [inline]
 

Return Material of which Element is made.

00053   {
00054     return *material_;
00055   }

const KalFitMaterial& KalFitElement::material void   )  const [inline]
 

Return Material of which Element is made.

00053   {
00054     return *material_;
00055   }

void KalFitElement::muls int  i  )  [static]
 

int KalFitElement::muls void   )  [static]
 

void KalFitElement::muls int  i  )  [static]
 

00094 {
00095   muls_ = i;
00096 }

int KalFitElement::muls void   )  [static]
 

00104 {
00105   return muls_;
00106 }

bool KalFitElement::operator< const KalFitElement a  )  const [inline]
 

Operator.

00072   {
00073     return radius() < a.radius();
00074   }

bool KalFitElement::operator< const KalFitElement a  )  const [inline]
 

Operator.

00072   {
00073     return radius() < a.radius();
00074   }

virtual double KalFitElement::radius void   )  const [pure virtual]
 

Return distance in r-phi plane.

Implemented in KalFitCylinder, and KalFitCylinder.

virtual double KalFitElement::radius void   )  const [pure virtual]
 

Return distance in r-phi plane.

Implemented in KalFitCylinder, and KalFitCylinder.

virtual void KalFitElement::updateTrack KalFitTrack track,
int  index
[virtual]
 

Update track according the material properties of the current element.

void KalFitElement::updateTrack KalFitTrack track,
int  index
[virtual]
 

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 }

virtual void KalFitElement::updateTrack_alreadyfound KalFitTrack track,
int  index
[virtual]
 

void KalFitElement::updateTrack_alreadyfound KalFitTrack track,
int  index
[virtual]
 

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 }

virtual void KalFitElement::updateTrack_rphi KalFitTrack track,
int  index
[virtual]
 

void KalFitElement::updateTrack_rphi KalFitTrack track,
int  index
[virtual]
 

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 }


Member Data Documentation

int KalFitElement::loss_ [static, protected]
 

const KalFitMaterial* KalFitElement::material_ [protected]
 

Material of this element.

const KalFitMaterial* KalFitElement::material_ [protected]
 

Material of this element.

int KalFitElement::muls_ [static, protected]
 

Flags.


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:19:45 2011 for BOSS6.5.5 by  doxygen 1.3.9.1