本文整理汇总了C++中Station::code方法的典型用法代码示例。如果您正苦于以下问题:C++ Station::code方法的具体用法?C++ Station::code怎么用?C++ Station::code使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Station
的用法示例。
在下文中一共展示了Station::code方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: check
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bool Check::check() {
if ( _inv == NULL ) return false;
EpochMap networkEpochs;
for ( size_t n = 0; n < _inv->networkCount(); ++n ) {
Network *net = _inv->network(n);
checkEpoch(net);
checkOverlap(networkEpochs[net->code()], net);
EpochMap stationEpochs;
for ( size_t s = 0; s < net->stationCount(); ++s ) {
Station *sta = net->station(s);
checkEpoch(sta);
checkOverlap(stationEpochs[sta->code()], sta);
checkOutside(net, sta);
EpochMap locationEpochs;
double lat = sta->latitude();
double lon = sta->longitude();
if ( lat == 0.0 && lon == 0.0 ) {
log(LogHandler::Warning,
(string(sta->className()) + " " + id(sta) + "\n "
"coordinates are 0.0/0.0").c_str(),
NULL, NULL);
}
for ( size_t l = 0; l < sta->sensorLocationCount(); ++l ) {
SensorLocation *loc = sta->sensorLocation(l);
checkEpoch(loc);
checkOverlap(locationEpochs[loc->code()], loc);
checkOutside(sta, loc);
double llat = loc->latitude();
double llon = loc->longitude();
if ( llat == 0.0 && llon == 0.0 ) {
log(LogHandler::Warning,
(string(loc->className()) + " " + id(loc) + "\n "
"coordinates are 0.0/0.0").c_str(),
NULL, NULL);
}
double dist,a1,a2;
Math::Geo::delazi(lat,lon,llat,llon, &dist, &a1, &a2);
dist = Math::Geo::deg2km(dist);
if ( dist > 10 ) {
log(LogHandler::Warning,
(string(loc->className()) + " " + id(loc) + "\n "
"location is " + Core::toString(dist) + "km away from parent Station").c_str(),
NULL, NULL);
}
EpochMap channelEpochs;
for ( size_t c = 0; c < loc->streamCount(); ++c ) {
Stream *cha = loc->stream(c);
checkEpoch(cha);
checkOverlap(channelEpochs[cha->code()], cha);
checkOutside(loc, cha);
try {
if ( cha->gain() == 0.0 ) {
log(LogHandler::Warning,
(string(cha->className()) + " " + id(cha) + "\n "
"invalid gain of 0").c_str(), NULL, NULL);
}
}
catch ( ... ) {
log(LogHandler::Warning,
(string(cha->className()) + " " + id(cha) + "\n "
"no gain set").c_str(), NULL, NULL);
}
if ( cha->gainUnit().empty() ) {
log(LogHandler::Warning,
(string(cha->className()) + " " + id(cha) + "\n "
"no gain unit set").c_str(), NULL, NULL);
}
if ( !cha->sensor().empty() ) {
// Done already in merge
/*
Sensor *sensor = findSensor(cha->sensor());
if ( sensor == NULL ) {
log(LogHandler::Unresolved,
(string(cha->className()) + " " + id(cha) + "\n "
"referenced sensor is not available").c_str(), NULL, NULL);
}
*/
}
else
log(LogHandler::Information,
(string(cha->className()) + " " + id(cha) + "\n "
"no sensor and thus no response information available").c_str(), NULL, NULL);
}
//.........这里部分代码省略.........
示例2: init
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bool Envelope::init() {
if ( !Application::init() ) return false;
// Construct stream firewall
for ( size_t i = 0; i < _config.streamsWhiteList.size(); ++i ) {
Core::trim(_config.streamsWhiteList[i]);
if ( !_config.streamsWhiteList[i].empty() ) {
SEISCOMP_DEBUG("Adding pattern to stream whitelist: %s",
_config.streamsWhiteList[i].c_str());
_streamFirewall.allow.insert(_config.streamsWhiteList[i]);
}
}
for ( size_t i = 0; i < _config.streamsBlackList.size(); ++i ) {
Core::trim(_config.streamsBlackList[i]);
if ( !_config.streamsBlackList[i].empty() ) {
SEISCOMP_DEBUG("Adding pattern to stream blacklist: %s",
_config.streamsBlackList[i].c_str());
_streamFirewall.deny.insert(_config.streamsBlackList[i]);
}
}
Inventory *inv = Client::Inventory::Instance()->inventory();
if ( inv == NULL ) {
SEISCOMP_ERROR("Inventory not available");
return false;
}
Core::Time now = Core::Time::GMT();
for ( size_t n = 0; n < inv->networkCount(); ++n ) {
Network *net = inv->network(n);
try { if ( net->end() < now ) continue; }
catch ( ... ) {}
for ( size_t s = 0; s < net->stationCount(); ++s ) {
Station *sta = net->station(s);
try { if ( sta->end() < now ) continue; }
catch ( ... ) {}
// Find velocity and strong-motion streams
DataModel::WaveformStreamID tmp(net->code(), sta->code(), "", "", "");
Stream *maxVel, *maxAcc;
maxVel = Private::findStreamMaxSR(sta, now,
Processing::WaveformProcessor::MeterPerSecond,
&_streamFirewall);
maxAcc = Private::findStreamMaxSR(sta, now,
Processing::WaveformProcessor::MeterPerSecondSquared,
&_streamFirewall);
if ( !maxAcc && !maxVel ) {
SEISCOMP_WARNING("%s.%s: no usable velocity and acceleration channel found",
net->code().c_str(), sta->code().c_str());
continue;
}
// Add velocity data if available
if ( maxVel ) {
tmp.setLocationCode(maxVel->sensorLocation()->code());
tmp.setChannelCode(maxVel->code().substr(0,2));
addProcessor(maxVel->sensorLocation(), tmp, now, "velocity", "vel");
}
// Add velocity data if available
if ( maxAcc ) {
tmp.setLocationCode(maxAcc->sensorLocation()->code());
tmp.setChannelCode(maxAcc->code().substr(0,2));
addProcessor(maxAcc->sensorLocation(), tmp, now, "accelerometric", "acc");
}
}
}
if ( _config.ts.valid() ) recordStream()->setStartTime(_config.ts);
if ( _config.te.valid() ) recordStream()->setEndTime(_config.te);
_creationInfo.setAgencyID(agencyID());
_creationInfo.setAuthor(author());
// We do not need lookup objects by publicID
PublicObject::SetRegistrationEnabled(false);
_sentMessages = 0;
_sentMessagesTotal = 0;
#ifndef SC3_SYNC_VERSION
_mpsReset.setCallback(boost::bind(&Envelope::resetMPSCount, this));
_mpsReset.setTimeout(1);
_mpsReset.start();
#endif
return true;
}