00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: MdcSegInfo.h,v 1.2 2009/12/16 09:02:47 zhangy Exp $ 00004 // 00005 // Description: 00006 // Base class for various MdcSegInfo classes, which hold values 00007 // for a track segment, calculated for some particular application 00008 // 00009 // Environment: 00010 // Software developed for the BaBar Detector at the SLAC B-Factory. 00011 // 00012 // Authors: Steve Schaffner 00013 // 00014 // Copyright (C) 1996 The Board of Trustees of 00015 // 00016 // History: 00017 // Migration for BESIII MDC 00018 // The Leland Stanford Junior University. All Rights Reserved. 00019 //------------------------------------------------------------------------ 00020 00021 // Interface Dependencies ---------------------------------------------- 00022 00023 #ifndef MDCSEGINFO_H 00024 #define MDCSEGINFO_H 00025 00026 // End Interface Dependencies ----------------------------------------- 00027 00028 class MdcSeg; 00029 class MdcTrack; 00030 class MdcSegWorks; 00031 00032 // Class definition// 00033 class MdcSegInfo 00034 { 00035 public: 00036 MdcSegInfo() { }; 00037 virtual ~MdcSegInfo(); 00038 00039 const double *errmat() const {return _errmat;} 00040 const double *inverr() const {return _inverr;} 00041 // double par1() const {return _par1;} 00042 // double par0() const {return _par0;} 00043 double par(int i) const {return (0 == i) ? _par0 : _par1;} 00044 double arc() const {return _arc;} 00045 virtual bool parIsAngle(int i) const = 0; 00046 void plotSegInfo() const; 00047 00048 protected: 00049 double _par0; // origin: phi0; stereo: z0 00050 double _par1; // origin: curv; stereo: ct 00051 double _errmat[3]; //error matrix: sig**2(phi0), sig**2(phi0-curv), (curv) 00052 double _inverr[3]; 00053 double _arc; // arclength @ which calc. -- for stereo 00054 }; 00055 00056 #endif 00057 00058 00059 00060 00061 00062 00063