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

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

#include "cdet/CStationListManager.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, CDetectorConstants::GridIndex index=CDetectorConstants::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, CStationListXMLManager and CStationListSQLManager.

Author
Darko Veberic
Date
03 Nov 2008

Definition at line 36 of file CStationListManager.h.

Member Typedef Documentation

Definition at line 148 of file CStationListManager.h.

Definition at line 147 of file CStationListManager.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), > > > > cdet::CStationListManager::StationContainer
private

Definition at line 144 of file CStationListManager.h.

Definition at line 146 of file CStationListManager.h.

Member Function Documentation

bool cdet::CStationListManager::ConditionalAddStationData ( CStationListManager::StationData station)
bool cdet::CStationListManager::DumpXML ( std::ostream &  output,
const std::string &  indent = "" 
) const

Definition at line 478 of file CStationListManager.cc.

References cdet::StringToXMLString().

template<>
VManager::Status cdet::CStationListManager::GetData ( int &  returnData,
const string &  componentProperty,
const VManager::IndexMap componentIndex 
) const

Definition at line 20 of file CStationListManager.cc.

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

Definition at line 46 of file CStationListManager.cc.

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

Definition at line 78 of file CStationListManager.cc.

template<typename T >
det::VManager::Status cdet::CStationListManager::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, band, ellipsoid

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

vector<vector<int> >: fullStationGroups

vector<bool>: inGrid

Referenced by cdet::CStationListXMLManager::GetStationListData().

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

Definition at line 110 of file CStationListManager.cc.

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

Definition at line 141 of file CStationListManager.cc.

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

Definition at line 161 of file CStationListManager.cc.

void cdet::CStationListManager::GetFullStationGroups ( std::vector< std::vector< int > > &  returnList) const
private

Definition at line 225 of file CStationListManager.cc.

void cdet::CStationListManager::GetFullStationList ( std::vector< int > &  returnList) const
private

Definition at line 213 of file CStationListManager.cc.

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

Definition at line 299 of file CStationListManager.cc.

VManager::Status cdet::CStationListManager::GetGroupIds ( std::vector< int > &  returnData) const
private

Definition at line 269 of file CStationListManager.cc.

VManager::Status cdet::CStationListManager::GetStationCrown ( std::vector< int > &  crown,
const int  id,
const int  nCrown,
CDetectorConstants::GridIndex  index = CDetectorConstants::eStandard 
) const
private

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

Definition at line 351 of file CStationListManager.cc.

References RdGeoCeLDFFitter::a, RdGeoCeLDFFitter::b, and cdet::CDetectorConstants::eInfill750.

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

Definition at line 319 of file CStationListManager.cc.

static int cdet::CStationListManager::GetStationId ( const det::VManager::IndexMap componentIndex)
inlinestaticprivate

Definition at line 99 of file CStationListManager.h.

bool cdet::CStationListManager::HasStationData ( const int  id) const

Definition at line 204 of file CStationListManager.cc.

Member Data Documentation

StationContainer cdet::CStationListManager::fStations
mutableprivate

Definition at line 150 of file CStationListManager.h.


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

, generated on Tue Sep 26 2023.