1 #ifndef _cdet_Station_h_
2 #define _cdet_Station_h_
10 #include <boost/iterator/indirect_iterator.hpp>
11 #include <boost/iterator/transform_iterator.hpp>
13 #include <det/VManager.h>
14 #include <det/Detector.h>
15 #include <sdet/SDetector.h>
16 #include <cdet/CDetectorConstants.h>
17 #include <utl/AugerUnits.h>
18 #include <utl/AugerException.h>
19 #include <utl/CoordinateSystemPtr.h>
20 #include <utl/ReferenceEllipsoid.h>
21 #include <utl/Validated.h>
22 #include <utl/Point.h>
23 #include <utl/Vector.h>
24 #include <utl/TimeStamp.h>
25 #include <utl/TimeRange.h>
26 #include <utl/TabulatedFunction.h>
27 #include <utl/ShadowPtr.h>
58 const std::string&
GetName()
const;
80 unsigned int GetRPCId(
const unsigned int & padId)
const {
return int(padId/10000);};
177 const std::string& property,
178 const std::string& component,
179 const std::string& errorMsg,
const bool throwOnFailure =
true)
186 det::Detector::GetInstance().GetCManagerRegister();
188 manager.
GetData(requestedData, property, component, indexMap);
201 const std::string& property,
202 const std::string& component,
203 const std::string& errorMsg,
const bool throwOnFailure =
true)
208 indexMap[
"RPCId"] = id;
211 det::Detector::GetInstance().GetCManagerRegister();
213 manager.
GetData(requestedData, property, component, indexMap);
235 typedef std::bitset<CDetectorConstants::kGridIndexSize>
InGridType;
const utl::TimeStamp & GetDecommissionTime() const
Station decommission time.
static const double kTimeBinSize
utl::Validated< std::string > fName
utl::Validated< double > fRPCSizeY
double GetPadArea() const
Detector description interface for CDetector-related data.
utl::Validated< double > fPadArea
utl::Validated< int > fNumberPadsX
Time interval defined by two TimeStamps.
unsigned int GetPadId(const utl::Point &position) const
utl::ReferenceEllipsoid::EllipsoidID fEllipsoid
const utl::TimeRange & GetCommissionTimeRange() const
Station commission time range.
utl::CoordinateSystemPtr GetRPCCoordinateSystem(unsigned int id) const
utl::Validated< utl::Point > fPosition
std::map< unsigned int, double > fRPCRotations
const utl::TimeStamp & GetCommissionTime() const
Station commission time.
double GetSpacerThickness() const
utl::Validated< utl::TimeRange > fCommissionTimeRange
double GetPadSizeY() const
std::string fStationIdString
int GetNumberPadsX() const
RPC readout parameters.
utl::Validated< double > fTankSupportOuterFootDistanceToCenter
double GetRPCSizeX() const
Dimensions of the RPC chamber.
const TimeStamp & GetStopTime() const
bool IsInGrid(const cdet::CDetectorConstants::GridIndex index=cdet::CDetectorConstants::eStandard) const
Tells whether the station is in the regular triangular grid.
std::vector< double > GetTankSupportOuterFootBaseDimensions() const
det::VManager::Status GetStationData(T &requestedData, const std::string &property, const std::string &component, const std::string &errorMsg, const bool throwOnFailure=true) const
Interface for detector managers.
std::map< unsigned int, utl::Point > fRPCPositions
utl::Point GetPosition() const
Station position in Site Cartesian Coordinates.
utl::Validated< double > fRPCSizeX
utl::Validated< std::vector< double > > fTankSupportOuterFootBaseDimensions
int GetId() const
Station ID.
A TimeStamp holds GPS second and nanosecond for some event.
Detector description interface for MARTA Station-related data.
utl::Validated< double > fPadSizeY
const std::string & GetName() const
Station name.
class to hold data at Pad level
utl::Validated< int > fGroupId
virtual Status GetData(double &returnData, const std::string &componentProperty, const std::string &componentName, const IndexMap &componentIndex) const =0
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
std::vector< double > GetRPCHousingInnerDimensions() const
Size of the RPC aluminum housing.
utl::Validated< std::vector< double > > fTankSupportOuterFootDimensions
std::vector< double > GetTankSupportOuterFootDimensions() const
utl::Validated< int > fIsInAcquisition
utl::Point GetPadPosition(const cevt::Pad &pad) const
Pad position relative to center of the tank.
bool IsInEngineeringArray() const
utl::Validated< double > fPadSizeX
utl::Validated< double > fDeadTime
int GetNumberRPCChambers() const
Number of RPC Chambers.
std::vector< double > GetTankSupportCentralFootDimensions() const
utl::Validated< InGridType > fInGrid
double GetRPCSizeY() const
utl::Validated< int > fNumberRPCChambers
utl::CoordinateSystemPtr fReferenceSystem
const TimeStamp & GetStartTime() const
std::vector< unsigned int > GetListPadIds() const
RPC readout parameters.
det::VManager::Status GetRPCData(const std::string &id, T &requestedData, const std::string &property, const std::string &component, const std::string &errorMsg, const bool throwOnFailure=true) const
double GetDeadTime() const
utl::Validated< std::vector< double > > fRPCHousingThickness
utl::Validated< int > fNumberPadsY
utl::Validated< std::vector< double > > fTankSupportCentralFootDimensions
std::map< unsigned int, utl::CoordinateSystemPtr > fRPCCoordinateSystems
Station operator=(const Station &)
std::vector< double > GetRPCHousingThickness() const
Thickness of walls of the RPC aluminum housing.
std::vector< double > GetTankSupportCentralFootBaseDimensions() const
double GetTankSupportOuterFootDistanceToCenter() const
const utl::Point & GetRPCPosition(const unsigned int id) const
RPC position.
std::map< std::string, std::string > IndexMap
std::bitset< CDetectorConstants::kGridIndexSize > InGridType
utl::Validated< std::vector< double > > fTankSupportCentralFootBaseDimensions
double GetRPCRotation(const unsigned int id) const
RPC rotation around its Z axis (axis perpendicular to RPC plane.
void NotFoundAndThrow(const std::string &msg) const
int GetNumberPadsY() const
static double GetTimeBinning()
EllipsoidID
ID's of known reference ellipsoid's.
utl::Validated< std::vector< unsigned int > > fListPadIds
RPC readout parameters.
utl::Validated< std::vector< double > > fTankSupportTopSlabDimensions
double GetPadSizeX() const
bool IsDense() const
Tells whether the station belongs to set of hypothetical "dense" stations.
utl::Validated< std::vector< double > > fRPCHousingInnerDimensions
Status
Specifies success or (eventually) various possible failure modes.
std::vector< double > GetTankSupportTopSlabDimensions() const
unsigned int GetRPCId(const unsigned int &padId) const