00001 #include "IMPL/TrackerHitImpl.h"
00002 #include "EVENT/LCIO.h"
00003 #include "UTIL/LCWarning.h"
00004
00005 using namespace EVENT ;
00006
00007 namespace IMPL {
00008
00009 TrackerHitImpl::TrackerHitImpl() :
00010 _type(0),
00011
00012 _EDep(0),
00013 _EDepError(0),
00014 _time(0),
00015 _quality(0) {
00016 _pos[0] = 0. ;
00017 _pos[1] = 0. ;
00018 _pos[2] = 0. ;
00019
00020 _cov.resize( TRKHITNCOVMATRIX ) ;
00021
00022
00023
00024 }
00025
00026 TrackerHitImpl::~TrackerHitImpl(){
00027 }
00028
00029 const double* TrackerHitImpl::getPosition() const { return _pos ; }
00030
00031 const FloatVec & TrackerHitImpl::getCovMatrix() const {
00032 return _cov ;
00033 }
00034
00035
00036 float TrackerHitImpl::getdEdx() const {
00037
00038 UTIL::LCWarning::getInstance().printWarning( "TRACKERHIT_DEPRECATED_GETDEDX" ) ;
00039
00040
00041 return getEDep();
00042 }
00043
00044 float TrackerHitImpl::getTime() const { return _time ; }
00045
00046
00047 const EVENT::LCObjectVec & TrackerHitImpl::getRawHits() const {
00048 return _rawHits ;
00049 }
00050
00051 EVENT::LCObjectVec & TrackerHitImpl::rawHits() {
00052 checkAccess("TrackerHitImpl::rawHits") ;
00053 return _rawHits ;
00054 }
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 int TrackerHitImpl::getType() const {
00067 return _type ;
00068 }
00069
00070
00071 void TrackerHitImpl::setType(int type) {
00072 checkAccess("TrackerHitImpl::setType") ;
00073 _type= type ;
00074 }
00075
00076 void TrackerHitImpl::setPosition( double pos[3]){
00077 checkAccess("TrackerHitImpl::setPosition") ;
00078 _pos[0] = pos[0] ;
00079 _pos[1] = pos[1] ;
00080 _pos[2] = pos[2] ;
00081 }
00082
00083
00084 void TrackerHitImpl::setdEdx( float dedx ) {
00085
00086 UTIL::LCWarning::getInstance().printWarning( "TRACKERHIT_DEPRECATED_SETDEDX" ) ;
00087
00088
00089
00090 setEDep( dedx ) ;
00091 }
00092
00093 void TrackerHitImpl::setEDep( float e ) {
00094 checkAccess("TrackerHitImpl::setEDep") ;
00095 _EDep = e ;
00096 }
00097
00098 void TrackerHitImpl::setEDepError( float e ) {
00099 checkAccess("TrackerHitImpl::setEDepError") ;
00100 _EDepError = e ;
00101 }
00102
00103 void TrackerHitImpl::setTime( float t ) {
00104 checkAccess("TrackerHitImpl::setTime") ;
00105 _time = t ;
00106 }
00107
00108 void TrackerHitImpl::setQuality( int quality ) {
00109 checkAccess("TrackerHitImpl::setQuality") ;
00110 _quality = quality ;
00111 }
00112
00113 void TrackerHitImpl::setQualityBit( int bit , bool val ) {
00114 checkAccess("TrackerHitImpl::setQuality") ;
00115
00116 if( val )
00117 _quality |= ( 1 << bit ) ;
00118 else
00119 _quality &= ~( 1 << bit ) ;
00120 }
00121
00122 void TrackerHitImpl::setCovMatrix( const FloatVec& cov ){
00123 checkAccess("TrackerHitImpl::setCovMatrix") ;
00124 for(int i=0;i<TRKHITNCOVMATRIX;i++){
00125 _cov[i] = cov[i] ;
00126 }
00127 }
00128 void TrackerHitImpl::setCovMatrix( float cov[TRKHITNCOVMATRIX] ){
00129 checkAccess("TrackerHitImpl::setCovMatrix") ;
00130 for(int i=0;i<TRKHITNCOVMATRIX;i++){
00131 _cov[i] = cov[i] ;
00132 }
00133 }
00134
00135
00136 }