1 #ifndef _sdet_SDetector_h_
2 #define _sdet_SDetector_h_
4 #include <sdet/Station.h>
5 #include <sdet/SDetectorConstants.h>
6 #include <utl/Validated.h>
7 #include <utl/IteratorRange.h>
8 #include <boost/iterator/transform_iterator.hpp>
22 class NonExistentComponentException;
50 public std::iterator<std::input_iterator_tag, const sdet::Station&, ptrdiff_t, const sdet::Station*, const sdet::Station& > {
StationIterator GridStationsBegin(const SDetectorConstants::GridIndex index) const
Beginning of the collection of pointers to commissioned stations in a specific grid.
const StationGroups & GetStationGroups() const
std::map< int, std::set< int > > StationGroups
StationGroups: map key = groupId, value = stationId set.
class to hold data at PMT level
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE_ARG(_ConstIterator_, _NamePrefix_, _Arg_)
Detector description interface for Station-related data.
StationIterator(const InternalStationIterator &it)
const std::vector< int > & GetFullStationList() const
Get list of ID's for all stations available in the database or configuration file.
Detector description interface for PMT-related data.
InternalStationIterator fInternalIterator
InternalStationIterator fEnd
StationGroups::const_iterator StationGroupsIterator
StationIterator AllStationsEnd() const
End of the collection of pointers to all stations in the history of the array.
InternalStationMap fCommissionedStationList
void FetchStationGroups() const
const Station * operator->() const
bool operator==(const StationIterator &other) const
StationIterator & operator++()
StationIterator GridStationsEnd(const SDetectorConstants::GridIndex index) const
End of the collection of pointers to commissioned stations in a specific grid.
Wrapper class for initially unset data.
StationIterator AllStationsBegin() const
Beginning of the collection of pointers to all stations in the history of the array.
StationIterator(const InternalStationIterator &begin, const InternalStationIterator &end, const SDetectorConstants::GridIndex index)
class to hold data at Station level
utl::Validated< std::vector< int > > fFullStationList
bool IsStationDense(const int stationId) const
Check if station is Dense.
Top of the hierarchy of the detector description interface.
StationIterator StationsEnd() const
End of the collection of pointers to commissioned stations.
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)
StationGroups fStationGroups
StationIterator StationsBegin() const
Beginning of the collection of pointers to commissioned stations.
SDetectorConstants::GridIndex fIndex
std::map< int, const sdet::Station * > InternalStationMap
SDetector & operator=(const SDetector &sdetector)
const Station & GetAllStation(const int stationId) const
bool IsStationCommissioned(const int stationId) const
Check if station with id is commisioned.
const std::vector< int > & GetDenseStationList() const
std::vector< int > fDenseStationSubList
Detector description interface for SDetector-related data.
const PMT & GetPMT(const sevt::PMT &pmt) const
InternalStationMap fFullStationMap
bool operator!=(const StationIterator &other) const
const Station & GetStation(const int stationId) const
Get station by Station Id.
const Station & operator*() const
InternalStationMap::const_iterator InternalStationIterator