Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

GFsegment.h

Go to the documentation of this file.
00001 
00002 #ifndef __GFSEGMENT_H
00003 #define __GFSEGMENT_H 1
00004 
00005 #include "TkrRecon/KalFit.h"
00006 #include "TkrRecon/GFdata.h"
00007 
00008 class GFparticle;
00009 
00010 //##############################################
00011 class GFsegment: public KalTrack
00012 //##############################################
00013 {
00014 protected:
00015 
00016         friend class GFgamma;
00017         friend class GFparticle;
00018         friend class GFpair;
00019         friend class GFtrack;
00020 
00021         // set
00022         GFsegment(const GFtrack* _GFtrack);
00023 
00024         // access
00025         int indexhit() const {return m_indexhit;}
00026         GFbase::StatusHit status() const {return m_statusHit;}
00027         KalPlane getKPlane() const;
00028         double chiGFSq() const;
00029 
00030 
00031         // operations
00032         void best(int kplane);
00033         void next(int kplane);
00034         void previous(int kplane); 
00035         void clear();
00036         bool accept() const;
00037 
00038         void flagUsedHits(int kplane);
00039         void unFlagUsedHits(int kplane);
00040         void unFlagAllHits();
00041 
00042 private:
00043             
00044         // Project to the next Plane
00045         KalPlane followingKPlane(int kplane) const;
00046         KalPlane getKPlane(int kplane) const;
00047         void doit(KalPlane& oriKplane, int jplane, KalHit::TYPE type = KalHit::FIT);
00048     KalPlane projectedKPlane(KalPlane previous, int klayer, 
00049                 KalHit::TYPE type = KalHit::FIT) const;
00050         GFbase::StatusHit nextKPlane(const KalPlane& previous, int kplane, 
00051                 KalPlane& next, KalHit::TYPE typ = KalHit::FIT) const; // returns next n
00052     
00053         // Selecting the Hit
00054     double sigmaFoundHit(const KalPlane& previous, const KalPlane& next, int& indexhit, double& radius) const; // returns also indexhit and radius
00055         void incorporateFoundHit(KalPlane& next, int indexhit) const; // modifies next
00056     bool foundHit(int& indexhit, double& inerRadius, double outRadius, double twrRadius,
00057                         const Point& CenterX, const Point& nearHit, double slope) const;
00058 
00059     // Utilities
00060     double getZklayer(enum SiCluster::view axis, int klayer) const;
00061     bool crack(const KalPlane&) const;
00062 
00063 private:
00064 
00065         SiCluster::view m_axis;
00066 
00067         KalPlane m_nextKplane;
00068         int m_indexhit;
00069         GFbase::StatusHit m_statusHit;
00070 
00071         const GFtrack* _mGFtrack;
00072 
00073 };
00074 
00075 #endif

Generated at Wed Nov 21 12:21:20 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000