00001 #ifndef __CP_SEGY_SPEC__ 00002 #define __CP_SEGY_SPEC__ 00003 00004 #include "contentpackage.hh" 00005 #include "su.h" 00006 #include "header.h" 00007 #include "segy.h" 00008 00010 namespace RVL { 00011 00012 template<> 00013 size_t getDataSize<segy>(segy const & md) { 00014 size_t n = md.ns; 00015 return n; 00016 } 00017 00018 template<> 00019 float * newData<float,segy>(segy & md) { 00020 return md.data; 00021 } 00022 00023 template<> 00024 void deleteData<float,segy>(float ** d,segy ** md) { 00025 delete *md; *md=NULL; *d=NULL; 00026 } 00027 00028 template<> 00029 ostream & writeMeta<segy>(segy const & md, ostream & s) { 00030 s<<"SEGY trace\n"; 00031 return s; 00032 } 00033 00034 } 00035 00036 #endif