1 #ifndef _revt_RStationListManager_h_
2 #define _revt_RStationListManager_h_
4 #include <boost/multi_index_container.hpp>
5 #include <boost/multi_index/member.hpp>
6 #include <boost/multi_index/ordered_index.hpp>
7 #include <boost/multi_index/composite_key.hpp>
9 #include <det/VManager.h>
10 #include <det/Detector.h>
12 #include <utl/TimeRange.h>
21 using ::boost::multi_index_container;
22 using ::boost::multi_index::index;
116 const std::string& componentProperty,
130 bool DumpXML(std::ostream& output,
const std::string& indent =
"")
const;
138 {
return det::VManager::FindComponent<int>(
"stationId", componentIndex); }
146 typedef multi_index_container<
148 ::boost::multi_index::indexed_by<
149 ::boost::multi_index::ordered_unique<
150 ::boost::multi_index::tag<ByStationId>, BOOST_MULTI_INDEX_MEMBER(
StationData,
int, fId)
bool ConditionalAddStationData(StationData &station)
adds station record only if it does not already exist
std::string fDecommissionTime
bool RemoveStationData(StationData &station)
Removes station data if manager has station.
StationContainer fStations
Time interval defined by two TimeStamps.
det::VManager::Status GetData(T &returnData, const std::string &componentProperty, const det::VManager::IndexMap &componentIndex) const
bool DumpXML(std::ostream &output, const std::string &indent="") const
void GetFullStationList(std::vector< int > &returnList) const
multi_index_container< StationData,::boost::multi_index::indexed_by< ::boost::multi_index::ordered_unique< ::boost::multi_index::tag< ByStationId >, BOOST_MULTI_INDEX_MEMBER(StationData, int, fId) > > > StationContainer
bool HasStationData(const int id) const
index< StationContainer, ByStationId >::type StationIdIndex
std::map< std::string, std::string > IndexMap
void ClearStations(const std::string source_type)
Removes all stations from fStations with fSource == source_type.
static int GetStationId(const det::VManager::IndexMap &componentIndex)
Common implementation of the station list manager.
utl::TimeRange fCommissionTimeRange
std::string fCommissionTime
void AddOrReplaceStationData(StationData &station)
adds station record and might overright old entry
Status
Specifies success or (eventually) various possible failure modes.