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

Go to the documentation of this file.
00001 /*
00002  * @class : RecMdcKalHelixSeg
00003  *
00004  * @author: wangjk
00005  * ********************************************************/
00006 
00007 #ifndef RECMDCKALHELIXSEG_H
00008 #define RECMDCKALHELIXSEG_H
00009 #include "GaudiKernel/ContainedObject.h"
00010 #include "GaudiKernel/SmartRef.h" 
00011 #include "GaudiKernel/ObjectVector.h"
00012 #include "Identifier/Identifier.h"
00013 #include "Identifier/MdcID.h"
00014 #include "EventModel/EventModel.h"
00015 #include "CLHEP/Matrix/Vector.h"
00016 #include "CLHEP/Matrix/SymMatrix.h"
00017 #include "CLHEP/Vector/ThreeVector.h"
00018 #include "CLHEP/Geometry/Point3D.h"
00019 
00020 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00021 typedef HepGeom::Point3D<double> HepPoint3D;
00022 #endif
00023 
00024 
00025 using namespace CLHEP;
00026 
00027 extern const CLID& CLID_RecMdcKalHelixSeg;  
00028 
00029 class RecMdcKalTrack;
00030 
00031 class RecMdcKalHelixSeg : virtual public ContainedObject {
00032 
00033  public:
00034    virtual const CLID& clID() const   {
00035       return RecMdcKalHelixSeg::classID();
00036    }
00037    
00038    static const CLID& classID()       {
00039       return CLID_RecMdcKalHelixSeg;
00040    }                     
00041    //constrcctor and destructor
00042    RecMdcKalHelixSeg();
00043    RecMdcKalHelixSeg(RecMdcKalHelixSeg& seg);
00044    ~RecMdcKalHelixSeg();
00045 
00046    //extractors
00047    int  getTrackId(void) const { return m_trackid; }
00048    Identifier  getMdcId(void)  const { return m_mdcid; }
00049    int  getFlagLR(void) const { return m_flagLR; }
00050    double getTdc(void) const { return m_tdc; }
00051    double getAdc(void) const { return m_adc; }
00052    double getZhit(void) const { return m_zhit; }
00053    double getTof(void) const{ return m_tof; }
00054    double getDocaIncl(void) const { return m_doca_incl ; }
00055    double getDocaExcl(void) const { return m_doca_excl ; }
00056    double getDD(void) const  { return m_dd; };
00057    double getEntra(void) const  { return m_entra; }
00058    double getDT(void) const { return m_dt; }
00059    int  getLayerId(void) const {return m_layerId; }
00060 
00062    double getDrIncl  ( void ) const { return m_helix_incl[0];   }
00063    double getFi0Incl ( void ) const { return m_helix_incl[1];   }
00064    double getCpaIncl ( void ) const { return m_helix_incl[2];   }
00065    double getDzIncl  ( void ) const { return m_helix_incl[3];   }
00066    double getTanlIncl( void ) const { return m_helix_incl[4];   }
00067 
00068    double getDrExcl  ( void ) const { return m_helix_excl[0];   }
00069    double getFi0Excl ( void ) const { return m_helix_excl[1];   }
00070    double getCpaExcl ( void ) const { return m_helix_excl[2];   }
00071    double getDzExcl  ( void ) const { return m_helix_excl[3];   }
00072    double getTanlExcl( void ) const { return m_helix_excl[4];   }
00073    
00074    HepVector& getHelixIncl( void )    { return m_helix_incl;   }
00075    HepVector& getHelixExcl( void )    { return m_helix_excl;   }
00076    
00077    HepSymMatrix& getErrorIncl( void ) { return m_error_incl;   }
00078    HepSymMatrix& getErrorExcl( void ) { return m_error_excl;   }
00079    double getResIncl(void)            { return m_res_incl;     }
00080    double getResExcl(void)            { return m_res_excl;     }
00081 
00082    
00083    // modifiers
00084    void setTrackId(int trackid)  { m_trackid = trackid ;}
00085    void setMdcId(Identifier mdcid)  { m_mdcid = mdcid;}
00086    void setFlagLR(int flagLR) { m_flagLR =flagLR;}
00087    void setTdc(double tdc)  { m_tdc = tdc; }
00088    void setAdc(double adc)  { m_adc = adc; }
00089    void setZhit(double zhit) { m_zhit = zhit; } 
00090    void setTof(double tof)  { m_tof = tof; }
00091    void setDocaIncl(double doca) { m_doca_incl = doca; }
00092    void setDocaExcl(double doca) { m_doca_excl = doca; }
00093    
00094    void setDD(double dd) { m_dd = dd; }
00095    void setEntra(double entra) { m_entra = entra; }
00096    void setDT(double dt) { m_dt = dt; }
00097    void setLayerId(int layerId)  {  m_layerId = layerId;}
00098    
00099    void setDrIncl(double dr)     { m_helix_incl[0] = dr;     }
00100    void setFi0Incl(double fi0)   { m_helix_incl[1] = fi0;    }
00101    void setCpaIncl(double cpa)   { m_helix_incl[2] = cpa;    }
00102    void setDzIncl(double dz)     { m_helix_incl[3] = dz;     }
00103    void setTanlIncl(double tanl) { m_helix_incl[4] = tanl;   }
00104  
00105    void setDrExcl(double dr)     { m_helix_excl[0] = dr;     }
00106    void setFi0Excl(double fi0)   { m_helix_excl[1] = fi0;    }
00107    void setCpaExcl(double cpa)   { m_helix_excl[2] = cpa;    }
00108    void setDzExcl(double dz)     { m_helix_excl[3] = dz;     }
00109    void setTanlExcl(double tanl) { m_helix_excl[4] = tanl;   }
00110    
00111    void setResIncl(double res) {m_res_incl = res; }
00112    void setResExcl(double res) {m_res_excl = res; }
00113 
00114    void setHelixIncl(const HepVector& helix)  {
00115       m_helix_incl = helix;
00116    }
00117    void setErrorIncl(const HepSymMatrix& error) { 
00118       m_error_incl = error;
00119    }
00120    void setHelixExcl(const HepVector& helix)  {
00121      m_helix_excl = helix;
00122    }
00123    void setErrorExcl(const HepSymMatrix& error) {
00124      m_error_excl = error;
00125    }
00126    
00127    void setHelixIncl(double* helix)  {
00128       for(int i=0; i<5; i++) {
00129         m_helix_incl[i] = helix[i]; 
00130       }
00131    }
00132    void setErrorIncl(double* error) {
00133       int k=0;
00134       for(int i=0; i<5 ; i++) {
00135          for(int j=0; j<=i; j++,k++) {
00136          m_error_incl[i][j] = error[k];
00137          m_error_incl[j][i] = error[k];     
00138         }      
00139       }
00140    }
00141    
00142    void setHelixExcl(double* helix)  {
00143      for(int i=0; i<5; i++) {
00144        m_helix_excl[i] = helix[i];
00145      }
00146    }
00147    
00148    void setErrorExcl(double* error) {
00149      int k=0;
00150      for(int i=0; i<5 ; i++) {
00151        for(int j=0; j<=i; j++,k++) {
00152          m_error_excl[i][j] = error[k];
00153          m_error_excl[j][i] = error[k];
00154        }
00155      }
00156    }
00157  
00158  
00159  private:
00160 
00161    int m_trackid;
00162    Identifier m_mdcid;
00163    int m_flagLR;
00164    double m_tdc;
00165    double m_adc;
00166    double m_zhit;
00167    double m_tof;
00168    double m_doca_incl;
00169    double m_doca_excl;
00170    double m_dd;
00171    double m_entra;
00172    double m_dt;
00173    double m_res_incl;
00174    double m_res_excl;
00175    HepVector m_helix_incl; // 5 track parameters 
00176    HepVector m_helix_excl; // 5 track parameters 
00177   
00178    HepSymMatrix m_error_incl; // error matrix 
00179    HepSymMatrix m_error_excl; // error matrix 
00180    
00181    int m_layerId;
00182 
00183 };
00184 typedef ObjectVector<RecMdcKalHelixSeg> RecMdcKalHelixSegCol;
00185  
00186 
00187 #endif
00188    

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