/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcRecEvent/MdcRecEvent-00-05-14/MdcRecEvent/RecMdcHit.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *  this class models "Hit" used in Mdc Reconstruction
00004  * 
00005  * 
00006  * ********************************************************/
00007 
00008 #ifndef RECMDCHIT_H
00009 #define RECMDCHIT_H
00010 #include "GaudiKernel/ContainedObject.h"
00011 #include "GaudiKernel/SmartRef.h"  
00012 #include "GaudiKernel/ObjectVector.h"
00013 #include "MdcGeomSvc/MdcGeoWire.h"
00014 #include "EventModel/EventModel.h"
00015 #include "Identifier/Identifier.h"
00016 
00017 
00018 extern const CLID& CLID_RecMdcHit;
00019 
00020 class RecMdcTrack;
00021 
00022 class RecMdcHit : virtual public ContainedObject {
00023 
00024  public:
00025    virtual const CLID& clID() const   {
00026       return RecMdcHit::classID();     
00027    }                                   
00028 
00029    static const CLID& classID()       {
00030       return CLID_RecMdcHit;
00031    }
00032    
00033  //ctor and dector
00034    RecMdcHit();
00035    RecMdcHit(const RecMdcHit& rechit );
00036    ~RecMdcHit();
00037  // is this hit grouped to any track?  
00038    bool isGrouped(void); 
00039  //extractors
00040    const int    getId(void)                const { return m_id;    }
00041    const  int   getTrkId(void)             const { return m_trkid; }   
00042    const double getDriftDistLeft(void)     const { return m_ddl;   }
00043    const double getDriftDistRight(void)    const { return m_ddr ;  }
00044    const double getErrDriftDistLeft(void)  const { return m_erddl; }
00045    const double getErrDriftDistRight(void) const { return m_erddr; }
00046    const double getChisqAdd(void)          const { return m_pChisq;}
00047    const int    getFlagLR(void)            const { return m_lr;    }
00048    const int    getStat(void)              const { return m_stat;  }
00049    const Identifier getMdcId(void)         const { return m_mdcid; }
00050    const double getTdc(void)               const { return m_tdc;   }
00051    const double getAdc(void)               const { return m_adc;   }
00052    const double getDriftT(void)            const { return m_driftT;}      
00053    const double getDoca(void)              const { return m_doca;  }      
00054    const double getEntra(void)             const { return m_entra; }     
00055    const double getZhit(void)              const { return m_zhit;  }      
00056    const double getFltLen(void)            const { return m_fltLen;}
00057 //modifiers
00058    void setId(int id)                      { m_id = id;        }
00059    void setTrkId(int trkid)                { m_trkid = trkid;  }
00060    void setDriftDistLeft(double ddl)       { m_ddl = ddl;      }
00061    void setDriftDistRight(double ddr)      { m_ddr = ddr ;     }
00062    void setErrDriftDistLeft(double erddl)  { m_erddl = erddl;  }
00063    void setErrDriftDistRight(double erddr) { m_erddr = erddr;  }
00064    void setChisqAdd(double pChisq)         { m_pChisq = pChisq;}
00065    void setFlagLR(int lr)                  { m_lr = lr;        }
00066    void setStat(int stat)                  { m_stat = stat;    }
00067    void setMdcId( Identifier mdcid )       { m_mdcid = mdcid;  }
00068    void setTdc(double tdc)                 { m_tdc = tdc;      }
00069    void setAdc(double adc)                 { m_adc = adc;      }
00070    void setDriftT(double driftT)           { m_driftT = driftT;}      
00071    void setDoca(double doca)               { m_doca = doca;    }      
00072    void setEntra(double entra)             { m_entra = entra;  }      
00073    void setZhit(double zhit)               { m_zhit = zhit;    }      
00074    void setFltLen(double fltLen)           { m_fltLen = fltLen;}
00075  
00076    
00077  private:
00078 
00079    int m_id;           // the id of thie hit
00080    int m_trkid;        // id of track containing this hit,if this hit 
00081                        // belongs to no track, set as -1;
00082    double m_ddl;       // drift distance left
00083    double m_ddr;       // drift distance right
00084    double m_erddl;     // error of drift distance left
00085    double m_erddr;     // error of drift distance right
00086    double m_pChisq;    // contribution to chisquare
00087    int m_lr;           // flag indicating left or right 0:left 1:right 2:ambig
00088    int m_stat;         // status flag
00089    Identifier m_mdcid; // MDC identifier
00090    double m_tdc;       // corrected TDC
00091    double m_adc;       // corrected ADC
00092    double m_driftT;    // drift time
00093    double m_doca;      // distance of closesest approach for helix in the cell
00094    double m_entra;     // entrance angle in azimuth
00095    double m_zhit;      // z coordinate of the hit
00096    double m_fltLen;    // flight length of this hit
00097 };
00098 
00099 typedef ObjectVector<RecMdcHit> RecMdcHitCol; 
00100 
00101 #endif
00102    

Generated on Tue Nov 29 23:12:54 2016 for BOSS_7.0.2 by  doxygen 1.4.7