3 #ifndef __zd_useismic_hpp
4 #define __zd_useismic_hpp
8 #include <ldb/trselect.h>
9 #include <zq/zqb_header.hpp>
10 #include <zq/zd_seismic_set.hpp>
15 #define ZDUS_EXTRA_HW_SIZE 8
40 ZdUSeismic (
TrSet* pTS,
int nExtraHW = 0,
const char* szDocName = NULL);
46 ZdUSeismic (
const char* szProject,
const char* szSeisFile,
47 int nExtraHW = 0,
const char* szDocName = NULL);
113 int* piEnsIndex = NULL);
144 virtual bool setSamples (
int id,
const float* pSamples);
170 ZqbOrder eOrder = Z_O_ASCENT);
174 ZqbOrder eOrder = Z_O_ASCENT);
178 ZqbOrder eOrder = Z_O_ASCENT);
194 virtual double coord ();
200 virtual void*
custom (
int ens_index = 0,
201 ZqbType* pRetType = NULL);
221 virtual int traceId (
int ens_index = 0);
257 virtual const char*
timeUnit ()
const;
275 static ZqbType
hwType (
int hwId);
316 : m_bLoaded(
false), m_iTraceId(-1), m_pTrace(NULL) {}
320 : m_bLoaded(
false), m_iTraceId(
id), m_pTrace(NULL)
326 : m_bLoaded(trit.m_bLoaded), m_iTraceId(trit.m_iTraceId), m_pTrace(NULL)
328 if(NULL != trit.m_pTrace)
337 bool operator< (
const TraceItem& trit)
const
339 if(NULL != m_pTrace && NULL != trit.m_pTrace)
340 return *m_pTrace < *trit.m_pTrace;
341 return m_iTraceId < trit.m_iTraceId;
346 m_bLoaded = trit.m_bLoaded;
347 m_iTraceId = trit.m_iTraceId;
348 if(NULL != trit.m_pTrace)
353 *m_pTrace = *trit.m_pTrace;
358 void loadTrace (
const float* trace)
428 void loadProjectAttr (
const char* szProject);
435 static int s_iNameCounter;
438 static char *s_szOwnType;
Definition: zqb_hdr_field.h:16
std::vector< int > m_viStartEns
Definition: zd_useismic.hpp:403
virtual int maxEnsembleLength()
virtual const ZqbRealTrace & trace(int ens_index=0)
virtual void getAllTraceIds(TraceIdsV &viTraceIds) const
virtual bool goNextCoord()
std::vector< double > CoordsV
Definition: zd_seismic_set.hpp:25
virtual bool setSamples(int id, const float *pSamples)
static ZqbType hwType(int hwId)
int extraHeaderWords() const
virtual bool goFirstCoord()
UnitId m_eLengthUnitId
Definition: zd_useismic.hpp:413
virtual void setCustomCoord(int iCoordHW, ZqbOrder eOrder=Z_O_ASCENT)
virtual int ensembleLength()
std::map< int, int > m_mId2I
Definition: zd_useismic.hpp:410
virtual const float * samplesById(int id)
virtual const ZqbRealTrace * traceById(int id)
virtual const char * timeUnit() const
std::vector< TraceItem > m_vTraces
Definition: zd_useismic.hpp:374
virtual const char * coordUnit() const
ZdUSeismic(TrSet *pTS, int nExtraHW=0, const char *szDocName=NULL)
virtual void globalAmplInfo(double pfAmm[2])
int m_iCurTrace
Definition: zd_useismic.hpp:387
virtual const char * timeMeaning() const
void getValuesList(int hwId, std::vector< int > &vValues)
virtual const char * coordMeaning() const
virtual const ZqbHeader * headerById(int id)
static void initialize(int nExtraHW=0, const ZqbHdrField *pExtraHW=NULL, void(*InitExtraHW)(ZqbHeader &)=NULL)
void setSortOrder(ZqbHeader &hdr)
int m_nMaxEnsSize
Definition: zd_useismic.hpp:393
ZqbAbstrTrace m_aTrace
Definition: zd_useismic.hpp:380
Definition: zqb_abstr_trace.hpp:13
TrIndexTable m_it
Definition: zd_useismic.hpp:310
std::vector< int > TraceIdsV
Definition: zd_seismic_set.hpp:22
virtual void setSecondaryOrder(int iSecondaryHW, ZqbOrder eOrder=Z_O_ASCENT)
virtual bool setTrace(int id, const ZqbRealTrace &rtr)
Definition: zqb_real_trace.hpp:19
TrSet * m_pTS
Definition: zd_useismic.hpp:306
virtual void getCoords(CoordsV &vfCoords)
std::vector< int > m_viEnsLengths
Definition: zd_useismic.hpp:406
int curEnsSize(int iCurTrace)
virtual int traceId(int ens_index=0)
virtual void setCustomHdrWord(int iCustomHW)
static void(* s_initExtraHW)(ZqbHeader &)
Definition: zd_useismic.hpp:397
virtual bool setHeader(int id, const ZqbHeader &hdr)
int m_nExtraHW
Definition: zd_useismic.hpp:390
Definition: zd_useismic.hpp:314
virtual const ZqbAbstrTrace & tracePar() const
virtual bool isModifiable() const
virtual const ZqbHeader & header(int ens_index=0)
ZqbRealTrace m_EmptyTrace
Definition: zd_useismic.hpp:383
static ZqbHdrField * hwInfo(int hwId)
const TrIndexTable * indexTable() const
virtual int coordCount() const
Definition: zd_seismic_set.hpp:17
Definition: zd_useismic.hpp:33
virtual void * custom(int ens_index=0, ZqbType *pRetType=NULL)
virtual int coordToTraceId(double fCoord, int iEnsIndex=0)
virtual double traceIdToCoord(int iTraceId, int *piEnsIndex=NULL)
virtual double averageCoordStep()
std::vector< double > m_vfCoords
Definition: zd_useismic.hpp:400
virtual void setTertiaryOrder(int iTertiaryHW, ZqbOrder eOrder=Z_O_ASCENT)
virtual int traceCount() const
virtual bool getCoordRange(double c[2])
std::vector< std::pair< int, ZqbOrder > > m_vOrder
Definition: zd_useismic.hpp:377
virtual void coordToTraceIds(double fCoord, TraceIdsV &viTraceIds)