BdsApi  2.2.6
This is the Blacknest BDS API.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
BdsLib.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BdsLib.h Data File Access
3  * T.Barnaby, BEAM Ltd, 2008-12-03
4  *******************************************************************************
5  */
9 #ifndef BdsLib_H
10 #define BdsLib_H
11 
12 #include <BdsD.h>
13 #include <BdsC.h>
14 #include <BString.h>
15 
16 namespace Bds {
17 
18 const int NetworkNameLen = 3;
19 const int StationNameLen = 5;
20 const int ChannelTypeLen = 3;
21 const int ChannelAuxLen = 2;
22 const int SourceLen = 16;
23 
25 class ResponseObj : public Response {
26 public:
27  ResponseObj(const Response& response);
28  ~ResponseObj();
29 
31  void setString(BString str);
32 };
33 
35 class DataError {
36 public:
37  DataError();
38  DataError(int errorNumber, BString title, BString filename, BTimeStamp startTime, BTimeStamp endTime, DataInfo& dataInfo, BUInt channel, BString description, BString user = "");
39  DataError& set(int errorNumber, BString title, BString importFilename, BTimeStamp startTime, BTimeStamp endTime, DataInfo& dataInfo, BUInt channel, BString description, BString user = "");
40  void mergeDataInfo(const DataInfo& dataInfo, BUInt channel);
41 
42  int getErrorNumber() const;
43  BString getTitle() const;
44 
46  BError setStringUser(BString str, BString user);
47  BString getString() const;
48 
49  int num() const;
50  const char* str() const;
51 
52  operator int() const;
53 
54 public:
66 };
67 
68 // Bds Channel name manipulations
69 void bdsChannelGetTypeAux(BString name, BString& type, BString& aux);
71 
72 // Bds Data Meta data manipulations
74 BError bdsDataInfoFromInfo(BDictString info, DataInfo& dataInfo, Bool append = 0);
75 BError bdsInfoFromDataInfo(const DataInfo& dataInfo, BDictString& info);
77 BError bdsDataInfoMergeFlatten(DataInfo& dataInfo, const DataInfo& dataInfoAdd);
78 
79 
81 BString bdsDataChannelInfo(const DataChannel& dataChannel);
82 BString bdsDataChannelRef(const DataChannel& dataChannel);
83 BString bdsDataChannelRef(const ChannelInfo& channelInfo);
84 BError bdsDataChannelOverallResponse(const ChannelInfo& channelInfo, Response& response);
85 BString bdsSelectionChannelInfo(const Selection& selection, BUInt channel);
86 BString bdsFileNameExpand(BString fileName, ChannelInfo& channelInfo);
87 BString bdsFileNameExpand(BString fileName, ChannelInfos& channelInfos);
88 
89 // BDS Metadata higher level functionality
91 Bool bdsSpecialChannelIgnore(BString network, BString station, BString channel);
92 char seedChannelInstrumentCode(BString dataType);
94 
95 // Calculations
96 double bdsPoleZeroGain(const PoleZero& poleZero, double frequency);
97 void bdsPoleZeroGainPhase(const PoleZero& poleZero, double frequency, double& gain, double& phase);
98 void bdsPoleZeroToFap(const PoleZero& poleZero, BUInt nPoints, double calibrationFrequency, double sampleFrequency, BArray<Fap>& fap);
99 
100 // Bds Debug functions
101 void bdsDumpSelection(Selection sel);
102 void bdsDumpDataInfo(DataInfo dataInfo, int includeInfo = 0);
103 void bdsDumpChannelInfos(const ChannelInfos& channelInfos);
104 void bdsDumpData(const DataBlock& dataBlock, int nSamples = 0);
105 void bdsDumpPoleZeros(PoleZero poleZeros);
106 void bdsDumpLocation(Location location);
107 
108 }
109 #endif
void bdsDumpData(const DataBlock &dataBlock, int nSamples)
Debug print out a DataBlock object.
Definition: BdsLib.cpp:664
BString bdsFileNameExpand(BString fileName, ChannelInfo &channelInfo)
Default filename from a ChannelInfo.
Definition: BdsLib.cpp:800
void bdsDumpSelection(Selection sel)
Debug print out a Selection object.
Definition: BdsLib.cpp:564
DataError()
Definition: BdsLib.cpp:39
This class defines a generic metadata or seismic data selection.
Definition: BdsD.h:456
void bdsDumpDataInfo(DataInfo dataInfo, int includeInfo)
Debug print out a DataInfo object.
Definition: BdsLib.cpp:587
This class defines information on a single channels set of data stored in a file. ...
Definition: BdsD.h:538
void mergeDataInfo(const DataInfo &dataInfo, BUInt channel)
Definition: BdsLib.cpp:65
~ResponseObj()
Definition: BdsLib.cpp:17
BError setStringUser(BString str, BString user)
Set from string given by user on command line.
Definition: BdsLib.cpp:143
const int ChannelTypeLen
Maximum Channel type name length.
Definition: BdsLib.h:20
BList< SpecialChannel > bdsSpecialChannels()
Return list of special channels.
Definition: BdsLib.cpp:880
const int ChannelAuxLen
Maximum Channel Aux length.
Definition: BdsLib.h:21
BOAP data class definitions for: Bds.
BError bdsDataInfoSetTimeRange(DataInfo &dataInfo)
Restricts the time tange of all of the DataInfo&#39;s channels to match the DataInfo&#39;s startTime/endTime ...
Definition: BdsLib.cpp:195
BError bdsInfoFromDataInfo(const DataInfo &dataInfo, BDictString &info)
Converts a DataInfo object into a BDictString list of named strings.
Definition: BdsLib.cpp:339
const int StationNameLen
Maximum Station name length.
Definition: BdsLib.h:19
BError bdsDataChannelOverallResponse(const ChannelInfo &channelInfo, Response &response)
Returns the overal response from the list of responses in a ChannelInfo.
Definition: BdsLib.cpp:705
BError bdsDataInfoFlatten(DataInfo &dataInfo)
Flattens a DataInfo to 1 segement per channel for use in dataOpen() calls.
Definition: BdsLib.cpp:466
BString bdsDataChannelRef(const DataChannel &dataChannel)
Returns the string reference name of a DataChannel object.
Definition: BdsLib.cpp:697
ResponseObj(const Response &response)
Definition: BdsLib.cpp:14
void bdsDumpLocation(Location location)
Debug printout location.
Definition: BdsLib.cpp:688
bool Bool
This class defines a seismic Response characteristic.
Definition: BdsD.h:269
BString ostation
The station/array name.
Definition: BdsLib.h:62
int getErrorNumber() const
Get The error number.
Definition: BdsLib.cpp:97
BString odescription
The description.
Definition: BdsLib.h:57
This class defines information on a set of data.
Definition: BdsD.h:573
const int NetworkNameLen
Maximum Network name length.
Definition: BdsLib.h:18
This class defines a Pole/Zero Response.
Definition: BdsD.h:221
BTimeStamp oendTime
The end Time.
Definition: BdsLib.h:60
This class provides the acual seismic data values contained within a single data block.
Definition: BdsD.h:640
void setString(BString str)
Definition: BdsLib.cpp:35
BString bdsDataChannelInfo(const DataChannel &dataChannel)
Returns a string representation of a DataChannel object.
Definition: BdsLib.cpp:692
void bdsDumpPoleZeros(PoleZero poleZeros)
Debug print out a PoleZeros object.
Definition: BdsLib.cpp:171
char seedChannelInstrumentCode(BString dataType)
Returns SEED instrument code from dataType.
Definition: BdsLib.cpp:939
const char * str() const
Return a char* string.
Definition: BdsLib.cpp:164
This class provides metadata information on a set of channels.
Definition: BdsD.h:499
BError bdsDataInfoFromInfo(BDictString info, DataInfo &dataInfo, Bool append)
Convert info to DataInfo.
Definition: BdsLib.cpp:217
BError bdsDataInfoMergeFlatten(DataInfo &dataInfo, const DataInfo &dataInfoAdd)
Merges a DataInfo into another flattening the segments to 1 for use in dataOpen() calls...
Definition: BdsLib.cpp:487
int32_t BInt32
DataError & set(int errorNumber, BString title, BString importFilename, BTimeStamp startTime, BTimeStamp endTime, DataInfo &dataInfo, BUInt channel, BString description, BString user="")
Definition: BdsLib.cpp:47
BUInt32 BUInt
void bdsPoleZeroGainPhase(const PoleZero &poleZero, double frequency, double &gain, double &phase)
Calculates the overal gain and phase of the given PoleZero transfer function.
Definition: BdsLib.cpp:742
BString getString() const
Get error message.
Definition: BdsLib.cpp:154
BString osource
The data Source.
Definition: BdsLib.h:64
BString bdsStationAlias(Station station)
Returns the station alias if set else its name.
Definition: BdsLib.cpp:557
BString otitle
The title.
Definition: BdsLib.h:56
This class defines a seismic station.
Definition: BdsD.h:181
BString getTitle() const
Get the title.
Definition: BdsLib.cpp:101
This class defines the physical location of a Station.
Definition: BdsD.h:196
Response object adding string conversion.
Definition: BdsLib.h:25
This class provides information on a channel.
Definition: BdsD.h:477
Bool bdsSpecialChannelIgnore(BString network, BString station, BString channel)
Check if channel should be ignored.
Definition: BdsLib.cpp:888
BString ochannel
The channel name.
Definition: BdsLib.h:63
int num() const
Get The error number.
Definition: BdsLib.cpp:160
BString ouser
The user.
Definition: BdsLib.h:65
BInt32 oerrorNumber
Error number.
Definition: BdsLib.h:55
void bdsPoleZeroToFap(const PoleZero &poleZero, BUInt nPoints, double calibrationFrequency, double sampleFrequency, BArray< Fap > &fap)
Convert PoleZero to FAP.
Definition: BdsLib.cpp:762
BError setString(BString str)
Set from string.
Definition: BdsLib.cpp:109
This stores a data error. It includes and error number and a string as well as information on what se...
Definition: BdsLib.h:35
BTimeStamp ostartTime
The start Time.
Definition: BdsLib.h:59
BString bdsChannelGetName(BString type, BString aux)
Create a full channel name from a channels type and aux fields.
Definition: BdsLib.cpp:187
double bdsPoleZeroGain(const PoleZero &poleZero, double frequency)
Calculates the overal gain of the given PoleZero transfer function.
Definition: BdsLib.cpp:725
BString onetwork
The network Name.
Definition: BdsLib.h:61
void bdsChannelGetTypeAux(BString name, BString &type, BString &aux)
Get the channel type and aux fields from a generic channel name.
Definition: BdsLib.cpp:180
BString seedChannelDataType(BString channel)
Returns dataType from channel name based on SEED channel name convention.
Definition: BdsLib.cpp:952
BString ofilename
The import filename;.
Definition: BdsLib.h:58
void bdsDumpChannelInfos(const ChannelInfos &channelInfos)
Debug print out a ChannelInfos object.
Definition: BdsLib.cpp:636
const int SourceLen
Maximum Source length.
Definition: BdsLib.h:22
BString bdsSelectionChannelInfo(const Selection &selection, BUInt channel)
Returns a string describing the name and time period of a selection channel.
Definition: BdsLib.cpp:718
BString getString()
Definition: BdsLib.cpp:20