39 const std::shared_ptr<CPick> &rhs)
const {
40 if (lhs->getTSort() < rhs->getTSort()) {
102 CSite(std::string sta, std::string comp, std::string net, std::string loc,
103 double lat,
double lon,
double elv,
double qual,
bool enable,
114 explicit CSite(std::shared_ptr<json::Object> site);
135 void update(
CSite *site);
161 bool initialize(std::string sta, std::string comp, std::string net,
162 std::string loc,
double lat,
double lon,
double elv,
163 double qual,
bool enable,
bool use,
bool useTele);
174 void setLocation(
double lat,
double lon,
double z);
193 double getDistance(std::shared_ptr<CSite> site);
202 void addPick(std::shared_ptr<CPick> pck);
211 void removePick(std::shared_ptr<CPick> pck);
226 std::vector<std::shared_ptr<CPick>> getPicks(
double t1,
double t2);
244 void addNode(std::shared_ptr<CNode> node,
double distDeg,
245 double travelTime1, std::string phase1,
246 double travelTime2 = -1, std::string phase2 =
"");
254 void removeNode(std::string nodeID);
271 std::vector<std::shared_ptr<CTrigger>> nucleate(
double tpick,
282 void addTriggerToList(std::vector<std::shared_ptr<CTrigger>> *vTrigger,
283 std::shared_ptr<CTrigger> trigger);
290 int getNodeLinksCount()
const;
298 bool getEnable()
const;
306 void setEnable(
bool enable);
315 bool getIsUsed()
const;
331 void setUse(
bool use);
339 bool getUseForTeleseismic()
const;
347 void setUseForTeleseismic(
bool useForTele);
353 double getQuality()
const;
359 void setQuality(
double qual);
366 double getRawLatitude()
const;
373 double getRawLongitude()
const;
380 double getRawElevation()
const;
394 const std::string& getSCNL()
const;
400 const std::string& getSite()
const;
406 const std::string& getComponent()
const;
412 const std::string& getNetwork()
const;
418 const std::string& getLocation()
const;
425 time_t getTLastPickAdded()
const;
432 double * getUnitVectors(
double * vec);
439 int getPickCountSinceCheck()
const;
446 void setPickCountSinceCheck(
int count);
453 int getPickCount()
const;
462 std::multiset<std::shared_ptr<CPick>,
SitePickCompare>::iterator getLower(
472 std::multiset<std::shared_ptr<CPick>,
SitePickCompare>::iterator getUpper(
479 std::multiset<std::shared_ptr<CPick>,
SitePickCompare>::iterator getEnd();
485 std::mutex & getPickMutex();
492 void updatePosition(std::shared_ptr<CPick> pick);
499 void eraseFromMultiset(std::shared_ptr<CPick> pick);
504 mutable std::mutex vPickMutex;
526 std::string m_sComponent;
531 std::string m_sNetwork;
536 std::string m_sLocation;
547 std::atomic<double> m_dRawLatitude;
553 std::atomic<double> m_dRawLongitude;
559 std::atomic<double> m_dRawElevation;
565 double m_daUnitVectors[3];
572 std::atomic<bool> m_bEnable;
577 std::atomic<bool> m_bUse;
583 std::atomic<bool> m_bUseForTeleseismic;
588 std::atomic<double> m_dQuality;
594 std::atomic<int> m_iPickCountSinceCheck;
599 mutable std::mutex m_vNodeMutex;
605 std::vector<NodeLink> m_vNode;
614 mutable std::recursive_mutex m_SiteMutex;
620 std::atomic<double> m_tLastPickAdded;
626 std::shared_ptr<CPick> m_LowerValue;
632 std::shared_ptr<CPick> m_UpperValue;
638 static const int k_iUnitVectorXCoordinateIndex = 0;
643 static const int k_iUnitVectorYCoordinateIndex = 1;
648 static const int k_iUnitVectorZCoordinateIndex = 2;
glasscore pick list class
Definition: PickList.h:62
CSite comparison function.
Definition: Site.h:37
geographic coordinate conversion class
Definition: geo.h:25
bool operator()(const std::shared_ptr< CPick > &lhs, const std::shared_ptr< CPick > &rhs) const
Definition: Site.h:38
The namespace containing the core algorithm.
Definition: Correlation.h:17
glasscore site (station) class
Definition: Site.h:69