/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/DstEvent/DstEvent-00-02-51/DstEvent/DstTofTrack.h

Go to the documentation of this file.
00001 #ifndef DST_TOFTRACK_H
00002 #define DST_TOFTRACK_H
00003 #include "GaudiKernel/ObjectVector.h"
00004 #include "GaudiKernel/ContainedObject.h"
00005 #include "EventModel/EventModel.h"
00006 #include  <vector>
00007 
00008 using namespace std;
00009 using namespace EventModel;
00010 
00011 extern const CLID &CLID_DstTofTrack;
00012 
00013 /*
00014 class RecBTofTrack ;
00015 class RecETofTrack ;
00016 */
00017 
00018 class DstTofTrack : virtual public ContainedObject {
00019 
00020  public:
00021   DstTofTrack();
00022   virtual ~DstTofTrack() {}
00023 
00024   // Assignment constructor.
00025   /*
00026   DstTofTrack& operator=(const RecBTofTrack& source);
00027   void copy(const RecBTofTrack* orig);
00028   DstTofTrack(const RecBTofTrack& source);
00029 
00030   DstTofTrack& operator=(const RecETofTrack& source);
00031   void copy(const RecETofTrack* orig);
00032   DstTofTrack(const RecETofTrack& source);
00033   */
00034 
00035   virtual const CLID& clID()  const { return  DstTofTrack::classID();}
00036   static  const CLID& classID() { return CLID_DstTofTrack; }
00037 
00038  public:
00039 
00040   int     tofTrackID()        const { return  m_tofTrackID; }
00041   int     trackID()           const { return  m_trackID;    }
00042   int     tofID();
00043   int     strip();
00044 
00045   unsigned int status()       const { return  m_status;     }
00046 
00047   double  path()              const { return  m_path;       }
00048   double  zrhit()             const { return  m_zrhit;      }
00049   double  ph()                const { return  m_ph;         }
00050   double  tof()               const { return  m_tof;        }
00051   double  errtof()            const { return  m_sigma[0];   }
00052   double  beta()              const { return  m_beta;       }
00053 
00054   double  texp(int i)         const { return  m_texp[i];    }
00055   double  texpElectron()      const { return  m_texp[0];    }
00056   double  texpMuon()          const { return  m_texp[1];    }
00057   double  texpPion()          const { return  m_texp[2];    }
00058   double  texpKaon()          const { return  m_texp[3];    }
00059   double  texpProton()        const { return  m_texp[4];    }
00060 
00061   double  toffset(int i)      const { return  m_toffset[i]; }
00062   double  toffsetElectron()   const { return  m_toffset[0]; }
00063   double  toffsetMuon()       const { return  m_toffset[1]; }
00064   double  toffsetPion()       const { return  m_toffset[2]; }
00065   double  toffsetKaon()       const { return  m_toffset[3]; }
00066   double  toffsetProton()     const { return  m_toffset[4]; }
00067   double  toffsetAntiProton() const { return  m_toffset[5]; }
00068 
00069   double  sigma(int i)        const { return  m_sigma[i];   }
00070   double  sigmaElectron()     const { return  m_sigma[0];   }
00071   double  sigmaMuon()         const { return  m_sigma[1];   }
00072   double  sigmaPion()         const { return  m_sigma[2];   }
00073   double  sigmaKaon()         const { return  m_sigma[3];   }
00074   double  sigmaProton()       const { return  m_sigma[4];   }
00075   double  sigmaAntiProton()   const { return  m_sigma[5];   }
00076 
00077   int     quality()           const { return  m_quality;    }
00078 
00079   double  t0()                const { return  m_t0;         }
00080   double  errt0()             const { return  m_errt0;      }
00081 
00082   double  errz()              const { return  m_errz;       }
00083   double  phi()               const { return  m_phi;        }
00084   double  errphi()            const { return  m_errphi;     }
00085   double  energy()            const { return  m_energy;     }
00086   double  errenergy()         const { return  m_errenergy;  }
00087 
00088  public:
00089 
00090   void  setTofTrackID(int tofTrackID)   { m_tofTrackID = tofTrackID; }
00091   void  setTrackID(int trackID)         { m_trackID    = trackID;    }
00092   void  setTofID(int tofID)             { m_tofID      = tofID;      }
00093   void  setStatus(unsigned int status)  { m_status     = status;     }
00094 
00095   void  setPath(double path)            { m_path       = path;       }
00096   void  setZrHit(double zrhit)          { m_zrhit      = zrhit;      }
00097   void  setPh(double ph)                { m_ph         = ph;         }
00098   void  setTof(double tof)              { m_tof        = tof;        }
00099   void  setErrTof(double etof)          { m_sigma[0]   = etof;       }
00100   void  setBeta(double beta)            { m_beta       = beta;       }
00101 
00102   void  setTexp(double texp[5])         { for(int i=0; i<5; i++) { m_texp[i]=texp[i];} }
00103   void  setTexpElectron(double texpe)   { m_texp[0] = texpe;         }
00104   void  setTexpMuon(double texpmu)      { m_texp[1] = texpmu;        }
00105   void  setTexpPion(double texppi)      { m_texp[2] = texppi;        }
00106   void  setTexpKaon(double texpk)       { m_texp[3] = texpk;         }
00107   void  setTexpProton(double texpp)     { m_texp[4] = texpp;         }
00108 
00109   void  setToffset(double toffset[6])   { for(int i=0; i<6; i++) { m_toffset[i]=toffset[i];} }
00110   void  setToffsetElectron(double toe)  { m_toffset[0] = toe;        }
00111   void  setToffsetMuon(double tomu)     { m_toffset[1] = tomu;       }
00112   void  setToffsetPion(double topi)     { m_toffset[2] = topi;       }
00113   void  setToffsetKaon(double tok)      { m_toffset[3] = tok;        }
00114   void  setToffsetProton(double top)    { m_toffset[4] = top;        }
00115   void  setToffsetAntiProton(double topb){ m_toffset[5] = topb;      }
00116 
00117   void  setSigma(double sigma[6])       { for(int i=0; i<6; i++) { m_sigma[i]=sigma[i];} }
00118   void  setSigmaElectron(double se)     { m_sigma[0]   = se;         }
00119   void  setSigmaMuon(double smu)        { m_sigma[1]   = smu;        }
00120   void  setSigmaPion(double spi)        { m_sigma[2]   = spi;        }
00121   void  setSigmaKaon(double sk)         { m_sigma[3]   = sk;         }
00122   void  setSigmaProton(double sp)       { m_sigma[4]   = sp;         }
00123   void  setSigmaAntiProton(double spb)  { m_sigma[5]   = spb;        }
00124 
00125   void  setQuality(int quality)         { m_quality    = quality;    }
00126 
00127   void  setT0(double t0)                { m_t0         = t0;         }
00128   void  setErrT0(double errt0)          { m_errt0      = errt0;      }
00129 
00130   void  setErrZ(double errz)            { m_errz       = errz;       }
00131   void  setPhi(double phi)              { m_phi        = phi;        }
00132   void  setErrPhi(double errphi)        { m_errphi     = errphi;     }
00133   void  setEnergy(double energy)        { m_energy     = energy;     }
00134   void  setErrEnergy(double errenergy)  { m_errenergy  = errenergy;  }
00135 
00136  private:
00137 
00138   int     m_tofTrackID;  // The ID of Tof Cluster reconstruction
00139   int     m_trackID;     // Track ID from MDC / Shower ID from EMC.
00140   int     m_tofID;       // Tof Counter ID.
00141   unsigned int m_status; // Status.
00142                          // 0x0000 0000
00143                          //   0 0 0 0            0 0 0 0
00144                          //   | | | BR / 1 EC    | | | raw
00145                          //   | | East / 1 West  | | ReadOut Unit
00146                          //   No Hit             | Counter
00147                          //   01 1st Layer       Cluster
00148                          //   10 2nd Layer / 11 both Layers
00149                          // 0x 00 00 00 00 00(used)
00150                          //        |  |  counter number
00151                          //        |  east readout number
00152                          //        west readout number
00153 
00154   double  m_path;        // Distance of flight.
00155   double  m_zrhit;       // Track extrapolate Z or R Hit position.
00156   double  m_ph;          // Pulse height.
00157   double  m_tof;         // Time of flight.
00158   double  m_beta;        // Beta value of the track.
00159   double  m_texp[5];     // Expected time of flight of 5 sorts of particle.
00160   double  m_toffset[6];  // Time offset of e, mu, pi, k and p and pbar.
00161   double  m_sigma[6];    // Time resolution of 5+1 sorts of particle.
00162   int     m_quality;     // Data quality of reconstruction.
00163                          //  1: good charged track
00164                          //  2: neutral track with good hit
00165                          //  0: ZT-ZTDC didnot match
00166                          //  3: no hit in counter
00167                          //  4: two hits in counter
00168                          //  5: more than two hits in counter
00169                          //  6: only single end output of one layer
00170                          //  7: two hits in counter with bad match with ZTDC
00171                          // 10: initialize
00172                          //  ......
00173   double  m_t0;          // t0 from data set calibration.
00174   double  m_errt0;       // t0 sigma from tof calibration.
00175 
00176   double  m_errz;        // Error of zTDC(m_zrhit) for neutral track.
00177   double  m_phi;         // Angle of phi used for neutral track.
00178   double  m_errphi;      // Error of angle of phi.
00179   double  m_energy;      // Energy deposit for neutral track
00180   double  m_errenergy;   // Error of energy deposit (m_ph) for neutral track. 
00181 
00182 };
00183 
00184 typedef ObjectVector<DstTofTrack> DstTofTrackCol;
00185 
00186 #endif //DST_TOFTRACK_H

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