00001 #include "CPPFORT/lctrh.h"
00002
00003 #include "lcio.h"
00004 #include "IMPL/TrackerHitImpl.h"
00005
00006 using namespace lcio ;
00007
00008 #include <iostream>
00009
00010
00011
00012 PTRTYPE lctrhcreate(){
00013 TrackerHitImpl* trh = new TrackerHitImpl ;
00014 return C2F_POINTER( LCObject*, trh ) ;
00015 }
00016 int lctrhdelete( PTRTYPE trhit ){
00017 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00018 delete trh ;
00019 return LCIO::SUCCESS ;
00020 }
00021
00022
00023
00024
00025 int lctrhid( PTRTYPE trhit ) {
00026 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00027 return trh->id() ;
00028 }
00029
00030 int lctrhgetposition( PTRTYPE trhit, double dpos[3] ) {
00031 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00032 for( int i=0 ; i<3 ; dpos[i] = trh->getPosition()[i++] ) ;
00033 return LCIO::SUCCESS ;
00034 }
00035
00036 int lctrhgetcovmatrix( PTRTYPE trhit, float cvmtx[TRKHITNCOVMATRIX] ) {
00037 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00038 for( int i=0 ; i<TRKHITNCOVMATRIX ; cvmtx[i] = trh->getCovMatrix()[i++] ) ;
00039 return LCIO::SUCCESS ;
00040 }
00041
00042
00043 float lctrhgetdedx( PTRTYPE trhit ) {
00044 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00045 return trh->getdEdx() ;
00046 }
00047
00048 float lctrhgetedep( PTRTYPE trhit ) {
00049 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00050 return trh->getEDep() ;
00051 }
00052
00053 float lctrhgetedeperr( PTRTYPE trhit ) {
00054 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00055 return trh->getEDepError() ;
00056 }
00057
00058 float lctrhgettime( PTRTYPE trhit ) {
00059 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00060 return trh->getTime() ;
00061 }
00062
00063
00064
00065
00066
00067
00068 int lctrhgettype( PTRTYPE trhit ) {
00069 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00070 return trh->getType() ;
00071 }
00072
00073 int lctrhgetquality( PTRTYPE trhit ) {
00074 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00075 return trh->getQuality() ;
00076 }
00077
00078 PTRTYPE lctrhgetrawhits( PTRTYPE trhit ) {
00079 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00080
00081
00082 return reinterpret_cast<PTRTYPE>( &trh->getRawHits() );
00083 }
00084
00085
00086
00087
00088 int lctrhsetposition( PTRTYPE trhit, double dpos[3] ) {
00089 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00090 trh->setPosition( dpos ) ;
00091 return LCIO::SUCCESS ;
00092 }
00093
00094 int lctrhsetcovmatrix( PTRTYPE trhit, float cvmtx[TRKHITNCOVMATRIX] ) {
00095 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00096 trh->setCovMatrix( cvmtx ) ;
00097 return LCIO::SUCCESS ;
00098 }
00099
00100
00101 int lctrhsetdedx( PTRTYPE trhit, float dedx) {
00102 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00103 trh->setdEdx( dedx ) ;
00104 return LCIO::SUCCESS ;
00105 }
00106
00107 int lctrhsetedep( PTRTYPE trhit, float e ) {
00108 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00109 trh->setEDep( e ) ;
00110 return LCIO::SUCCESS ;
00111 }
00112
00113 int lctrhsetedeperr( PTRTYPE trhit, float e ) {
00114 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00115 trh->setEDepError( e ) ;
00116 return LCIO::SUCCESS ;
00117 }
00118
00119 int lctrhsettime( PTRTYPE trhit, float time) {
00120 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00121 trh->setTime( time ) ;
00122 return LCIO::SUCCESS ;
00123 }
00124
00125 int lctrhsettype( PTRTYPE trhit, int type) {
00126 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00127 trh->setType( type ) ;
00128 return LCIO::SUCCESS ;
00129 }
00130
00131 int lctrhsetquality( PTRTYPE trhit, int q) {
00132 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00133 trh->setQuality( q ) ;
00134 return LCIO::SUCCESS ;
00135 }
00136
00137 int lctrhaddrawhit( PTRTYPE trhit, PTRTYPE rawhit ) {
00138 TrackerHitImpl* trh = f2c_pointer<TrackerHitImpl,LCObject>( trhit ) ;
00139 LCObject* hit = f2c_pointer<LCObject,LCObject>( rawhit ) ;
00140 trh->rawHits().push_back( hit ) ;
00141 return LCIO::SUCCESS ;
00142 }
00143
00144