List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
sdet::SStationListManager Class Reference

Common implementation of the station list manager. More...

#include "sdet/SStationListManager.h"

Classes

struct  ByAxes
 
struct  ByGroupId
 
struct  ByStationId
 
struct  StationData
 

Public Member Functions

bool ConditionalAddStationData (StationData &station)
 adds station record only if it does not already exist More...
 
bool DumpXML (std::ostream &output, const std::string &indent="") const
 
template<>
VManager::Status GetData (int &returnData, const string &componentProperty, const VManager::IndexMap &componentIndex) const
 
template<>
VManager::Status GetData (double &returnData, const string &componentProperty, const VManager::IndexMap &componentIndex) const
 
template<>
VManager::Status GetData (string &returnData, const string &componentProperty, const VManager::IndexMap &componentIndex) const
 
template<typename T >
det::VManager::Status GetData (T &returnData, const std::string &componentProperty, const det::VManager::IndexMap &componentIndex) const
 
template<>
VManager::Status GetData (vector< int > &returnData, const string &componentProperty, const VManager::IndexMap &componentIndex) const
 
template<>
VManager::Status GetData (vector< vector< int > > &returnData, const string &componentProperty, const VManager::IndexMap &) const
 
template<>
VManager::Status GetData (vector< bool > &returnData, const string &componentProperty, const VManager::IndexMap &componentIndex) const
 
bool HasStationData (const int id) const
 

Private Types

typedef index
< StationContainer, ByAxes >
::type 
AxesIndex
 
typedef index
< StationContainer, ByGroupId >
::type 
GroupIdIndex
 
typedef multi_index_container
< StationData, indexed_by
< ordered_unique< tag
< ByStationId >
, BOOST_MULTI_INDEX_MEMBER(StationData,
int, fId) >
, ordered_non_unique< tag
< ByGroupId >
, BOOST_MULTI_INDEX_MEMBER(StationData,
int, fGroupId) >
, ordered_non_unique< tag
< ByAxes >, composite_key
< StationData,
BOOST_MULTI_INDEX_MEMBER(StationData,
double, fAxis1), > > > > 
StationContainer
 
typedef index
< StationContainer,
ByStationId >::type 
StationIdIndex
 

Private Member Functions

void GetFullStationGroups (std::vector< std::vector< int > > &returnList) const
 
void GetFullStationList (std::vector< int > &returnList) const
 
det::VManager::Status GetGroup (std::vector< int > &returnData, const int groupId) const
 
det::VManager::Status GetGroupIds (std::vector< int > &returnData) const
 
det::VManager::Status GetStationCrown (std::vector< int > &crown, const int id, const int nCrown, SDetectorConstants::GridIndex index=SDetectorConstants::eStandard) const
 Get crown accoding to detector time and station commission time range. More...
 
det::VManager::Status GetStationGroup (std::vector< int > &returnData, const int id) const
 

Static Private Member Functions

static int GetStationId (const det::VManager::IndexMap &componentIndex)
 

Private Attributes

StationContainer fStations
 

Detailed Description

Common implementation of the station list manager.

This class is used by both, SStationListXMLManager and SStationListSQLManager.

Author
Darko Veberic
Date
03 Nov 2008

Definition at line 36 of file SStationListManager.h.

Member Typedef Documentation

Definition at line 152 of file SStationListManager.h.

Definition at line 151 of file SStationListManager.h.

typedef multi_index_container< StationData, indexed_by< ordered_unique< tag<ByStationId>, BOOST_MULTI_INDEX_MEMBER(StationData, int, fId) >, ordered_non_unique< tag<ByGroupId>, BOOST_MULTI_INDEX_MEMBER(StationData, int, fGroupId) >, ordered_non_unique< tag<ByAxes>, composite_key< StationData, BOOST_MULTI_INDEX_MEMBER(StationData, double, fAxis1), > > > > sdet::SStationListManager::StationContainer
private

Definition at line 148 of file SStationListManager.h.

Definition at line 150 of file SStationListManager.h.

Member Function Documentation

bool sdet::SStationListManager::ConditionalAddStationData ( SStationListManager::StationData station)
bool sdet::SStationListManager::DumpXML ( std::ostream &  output,
const std::string &  indent = "" 
) const
template<>
VManager::Status sdet::SStationListManager::GetData ( int &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 20 of file SStationListManager.cc.

template<>
VManager::Status sdet::SStationListManager::GetData ( double &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 52 of file SStationListManager.cc.

template<>
VManager::Status sdet::SStationListManager::GetData ( string &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 84 of file SStationListManager.cc.

template<typename T >
det::VManager::Status sdet::SStationListManager::GetData ( T &  returnData,
const std::string &  componentProperty,
const det::VManager::IndexMap componentIndex 
) const

This will be specialized for "int", "double", "string", "vector<int>", "vector<vector<int> >", and vector<bool>.

The following queries are implemented:

type and valid component properties:

int: groupId, zone

double: northing, easting, altitude, axis1, axis2

string: name, commission, decommission, commissionUUB, band, ellipsoid

vector<int>: fullStationList, groupIds, group (groupId=?), stationGroup (stationId=?), crown

vector<vector<int> >: fullStationGroups

vector<bool>: inGrid

Referenced by sdet::SStationListXMLManager::GetStationListData(), and sdet::SStationListSQLManager::GetStationListData().

template<>
VManager::Status sdet::SStationListManager::GetData ( vector< int > &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 118 of file SStationListManager.cc.

template<>
VManager::Status sdet::SStationListManager::GetData ( vector< vector< int > > &  returnData,
const string &  componentProperty,
const VManager::IndexMap  
) const

Definition at line 149 of file SStationListManager.cc.

template<>
VManager::Status sdet::SStationListManager::GetData ( vector< bool > &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 169 of file SStationListManager.cc.

void sdet::SStationListManager::GetFullStationGroups ( std::vector< std::vector< int > > &  returnList) const
private

Definition at line 229 of file SStationListManager.cc.

void sdet::SStationListManager::GetFullStationList ( std::vector< int > &  returnList) const
private

Definition at line 218 of file SStationListManager.cc.

References utl::s.

VManager::Status sdet::SStationListManager::GetGroup ( std::vector< int > &  returnData,
const int  groupId 
) const
private

Definition at line 299 of file SStationListManager.cc.

VManager::Status sdet::SStationListManager::GetGroupIds ( std::vector< int > &  returnData) const
private

Definition at line 271 of file SStationListManager.cc.

VManager::Status sdet::SStationListManager::GetStationCrown ( std::vector< int > &  crown,
const int  id,
const int  nCrown,
SDetectorConstants::GridIndex  index = SDetectorConstants::eStandard 
) const
private

Get crown accoding to detector time and station commission time range.

Definition at line 342 of file SStationListManager.cc.

References RdGeoCeLDFFitter::a, RdGeoCeLDFFitter::b, and sdet::SDetectorConstants::eInfill750.

VManager::Status sdet::SStationListManager::GetStationGroup ( std::vector< int > &  returnData,
const int  id 
) const
private

Definition at line 315 of file SStationListManager.cc.

static int sdet::SStationListManager::GetStationId ( const det::VManager::IndexMap componentIndex)
inlinestaticprivate

Definition at line 103 of file SStationListManager.h.

bool sdet::SStationListManager::HasStationData ( const int  id) const

Definition at line 209 of file SStationListManager.cc.

Member Data Documentation

StationContainer sdet::SStationListManager::fStations
mutableprivate

Definition at line 154 of file SStationListManager.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.