/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/TrkReco/TMDCTsf.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // $Id: TMDCTsf.h,v 1.7 2010/03/31 09:58:59 liucy Exp $
00003 //-----------------------------------------------------------------------------
00004 // Filename : TMDCTsf.h
00005 // Section  : Tracking MDC
00006 // Owner    : Yoshi Iwasaki
00007 // Email    : yoshihito.iwasaki@kek.jp
00008 //-----------------------------------------------------------------------------
00009 // Description : A class to represent a Track Finder Segment(TSF).
00010 //               See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
00011 //-----------------------------------------------------------------------------
00012 
00013 #ifndef TMDCTsf_FLAG_
00014 #define TMDCTsf_FLAG_
00015 
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021 
00022 #include "TrkReco/TMLink.h"
00023 #include "TrkReco/TSegment.h"
00024 
00025 #include <string>
00026 
00027 #define HEP_SHORT_NAMES
00028 #include "CLHEP/Alist/AList.h"
00029 
00030 //class TMDCWire;
00031 
00032 #define TMDCTSF_MIN_LAYERS 3
00033 
00035 class TMDCTsf {
00036 
00037   public:
00039 //    TMDCTsf(const TMDCWire * const);
00040 
00042 /*    TMDCTsf(const AList<int> & offset,
00043             const AList<int> & width,
00044             const TMDCWire * const);
00045 */
00046     TMDCTsf(unsigned sl);
00047 
00049     virtual ~TMDCTsf();
00050 
00051   public:// Selectors
00053     void dump(const std::string & message = std::string(""),
00054               const std::string & prefix = std::string("")) const;
00055 
00056   public:// Modifiers
00058     AList<TSegment> segments(const AList<TMLink> & links);
00059     AList<TSegment> createTsf(unsigned) const;
00060 
00062     void solveLeftRight(void);
00063 
00064   private:// Modifiers
00066     bool create(const AList<int> & offset,
00067                 const AList<int> & width,
00068                 const TMDCWire * const);
00069 
00071 //    int  createTsf(TMLink *, AList<TMLink> &, AList<TMLink> &);
00072 //    AList<TSegment> createTsf(void) const;
00073     double alpha(unsigned, TMLink *) const;
00074 
00075   private:
00076     unsigned _sl;
00077     double _angle;   // 0.775--1.102
00078 
00079     AList<TMLink> _all;
00080     AList<TMLink> _links;
00081 //    AList<TMLink> _unusedHitsOnLocallayer[4];
00082 //    AList<TMLink> _usedHitsOfSecond; //for the (23) layers;
00083 
00084     AList<TMDCWire> _wires;
00085 
00086     static TMDC * _cdc;
00087 
00088   private: //parameters.
00089 //    const float _maxDriftOfHit;
00090 //    float _maxdDistance;// maybe need five parameters here.
00091 //    float _averR[11] = {9.7, 14.5, 22.14, 28.62, 35.1, 42.39, 48.87, 55.35, 61.83, 69.12, 74.79};
00092 //    float _singleSigma; //unit cm.
00093 };
00094 
00095 //-----------------------------------------------------------------------------
00096 
00097 #ifdef TMDCTsf_NO_INLINE
00098 #define inline
00099 #else
00100 #undef inline
00101 #define TMDCTsf_INLINE_DEFINE_HERE
00102 #endif
00103 
00104 #ifdef TMDCTsf_INLINE_DEFINE_HERE
00105 
00106 
00107 
00108 #endif
00109 
00110 #undef inline
00111 
00112 #endif /* TMDCTsf_FLAG_ */

Generated on Tue Nov 29 23:14:17 2016 for BOSS_7.0.2 by  doxygen 1.4.7