/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/KalFitAlg/KalFitAlg-00-07-55-p03/KalFitAlg/KalFitElement.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------
00002 // File from KalFit module
00003 //
00004 // Filename : KalFitElement.h
00005 //------------------------------------------------------------------------
00006 // Description :
00007 // Element is a base class which represents an element of detector
00008 //
00009 //------------------------------------------------------------------------
00010 // Modif :
00011 //------------------------------------------------------------------------
00012 #ifndef _DEFINE_ELEMENT_H_
00013 #define _DEFINE_ELEMENT_H_
00014 
00015 #include "KalFitAlg/lpav/Lpav.h" // Use for first circle fit....
00016 
00017 class KalFitMaterial;
00018 class KalFitTrack;
00019 
00020 
00024 class KalFitElement {
00025 protected:
00026 
00028   const KalFitMaterial* material_;
00029 
00031   static int muls_;
00032   static int loss_;
00033 
00034 public:
00036   KalFitElement(const KalFitMaterial* material)
00037     : material_(material)
00038   {}
00039   
00041   virtual ~KalFitElement(){}
00042 
00044   virtual double intersect(const KalFitTrack& track,
00045                            HepPoint3D& x) const = 0;
00046 
00047 
00048   virtual double intersect(const KalFitTrack& track,
00049                            HepPoint3D& x, const HepPoint3D& point) const = 0;    
00050 
00052   const KalFitMaterial& material(void) const
00053   {
00054     return *material_;
00055   }
00056 
00058   virtual double radius(void) const = 0;
00059 
00061   virtual void updateTrack(KalFitTrack& track, int index);
00062   virtual void updateTrack_rphi(KalFitTrack& track, int index);
00063 
00064   virtual void updateTrack_alreadyfound(KalFitTrack& track, 
00065                                         int index);
00067   virtual void asso_rphi(Lpav& circ, KalFitTrack& track);
00068   virtual void asso_rphi(KalFitTrack& track);
00069 
00071   bool operator < (const KalFitElement& a) const
00072   {
00073     return radius() < a.radius();
00074   }
00075 
00076   static int muls(void);
00077   static int loss(void);
00078 
00079   static void muls(int i);
00080   static void loss(int i);
00081 };
00082 
00083 #endif

Generated on Tue Nov 29 23:13:22 2016 for BOSS_7.0.2 by  doxygen 1.4.7