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

Detector description interface for MARTA Station-related data. More...

#include <cdet/Station.h>

Public Member Functions

const utl::TimeStampGetCommissionTime () const
 Station commission time. More...
 
const utl::TimeRangeGetCommissionTimeRange () const
 Station commission time range. More...
 
double GetDeadTime () const
 
const utl::TimeStampGetDecommissionTime () const
 Station decommission time. More...
 
int GetId () const
 Station ID. More...
 
std::vector< unsigned int > GetListPadIds () const
 RPC readout parameters. More...
 
const std::string & GetName () const
 Station name. More...
 
int GetNumberPadsX () const
 RPC readout parameters. More...
 
int GetNumberPadsY () const
 
int GetNumberRPCChambers () const
 Number of RPC Chambers. More...
 
double GetPadArea () const
 
unsigned int GetPadId (const utl::Point &position) const
 
utl::Point GetPadPosition (const cevt::Pad &pad) const
 Pad position relative to center of the tank. More...
 
utl::Point GetPadPosition (const unsigned int &padId) const
 
double GetPadSizeX () const
 
double GetPadSizeY () const
 
utl::Point GetPosition () const
 Station position in Site Cartesian Coordinates. More...
 
utl::CoordinateSystemPtr GetRPCCoordinateSystem (unsigned int id) const
 
std::vector< double > GetRPCHousingInnerDimensions () const
 Size of the RPC aluminum housing. More...
 
std::vector< double > GetRPCHousingThickness () const
 Thickness of walls of the RPC aluminum housing. More...
 
unsigned int GetRPCId (const unsigned int &padId) const
 
const utl::PointGetRPCPosition (const unsigned int id) const
 RPC position. More...
 
double GetRPCRotation (const unsigned int id) const
 RPC rotation around its Z axis (axis perpendicular to RPC plane. More...
 
double GetRPCSizeX () const
 Dimensions of the RPC chamber. More...
 
double GetRPCSizeY () const
 
double GetSpacerThickness () const
 
std::vector< double > GetTankSupportCentralFootBaseDimensions () const
 
std::vector< double > GetTankSupportCentralFootDimensions () const
 
std::vector< double > GetTankSupportOuterFootBaseDimensions () const
 
std::vector< double > GetTankSupportOuterFootDimensions () const
 
double GetTankSupportOuterFootDistanceToCenter () const
 
std::vector< double > GetTankSupportTopSlabDimensions () const
 
bool IsDense () const
 Tells whether the station belongs to set of hypothetical "dense" stations. More...
 
bool IsInEngineeringArray () const
 
bool IsInGrid (const cdet::CDetectorConstants::GridIndex index=cdet::CDetectorConstants::eStandard) const
 Tells whether the station is in the regular triangular grid. More...
 

Static Public Member Functions

static double GetTimeBinning ()
 

Private Types

typedef std::bitset
< CDetectorConstants::kGridIndexSize
InGridType
 

Private Member Functions

template<typename T >
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
 
template<typename T >
det::VManager::Status GetStationData (T &requestedData, const std::string &property, const std::string &component, const std::string &errorMsg, const bool throwOnFailure=true) const
 
void NotFoundAndThrow (const std::string &msg) const
 
Station operator= (const Station &)
 
 Station (const int id)
 
 Station (const Station &)
 
void Update () const
 
 ~Station ()
 

Private Attributes

utl::Validated< utl::TimeRangefCommissionTimeRange
 
utl::Validated< double > fDeadTime
 
bool fDense
 
utl::ReferenceEllipsoid::EllipsoidID fEllipsoid
 
utl::Validated< int > fGroupId
 
int fId
 
utl::Validated< InGridTypefInGrid
 
utl::Validated< int > fIsInAcquisition
 
utl::Validated< std::vector
< unsigned int > > 
fListPadIds
 RPC readout parameters. More...
 
utl::Validated< std::string > fName
 
utl::Validated< int > fNumberPadsX
 
utl::Validated< int > fNumberPadsY
 
utl::Validated< int > fNumberRPCChambers
 
utl::Validated< double > fPadArea
 
utl::Validated< double > fPadSizeX
 
utl::Validated< double > fPadSizeY
 
utl::Validated< utl::PointfPosition
 
utl::CoordinateSystemPtr fReferenceSystem
 
std::map< unsigned int,
utl::CoordinateSystemPtr
fRPCCoordinateSystems
 
utl::Validated< std::vector
< double > > 
fRPCHousingInnerDimensions
 
utl::Validated< std::vector
< double > > 
fRPCHousingThickness
 
std::map< unsigned int,
utl::Point
fRPCPositions
 
std::map< unsigned int, double > fRPCRotations
 
utl::Validated< double > fRPCSizeX
 
utl::Validated< double > fRPCSizeY
 
std::string fStationIdString
 
utl::Validated< std::vector
< double > > 
fTankSupportCentralFootBaseDimensions
 
utl::Validated< std::vector
< double > > 
fTankSupportCentralFootDimensions
 
utl::Validated< std::vector
< double > > 
fTankSupportOuterFootBaseDimensions
 
utl::Validated< std::vector
< double > > 
fTankSupportOuterFootDimensions
 
utl::Validated< double > fTankSupportOuterFootDistanceToCenter
 
utl::Validated< std::vector
< double > > 
fTankSupportTopSlabDimensions
 

Static Private Attributes

static const double kTimeBinSize = 1.0*utl::nanosecond
 

Friends

class CDetector
 

Detailed Description

Detector description interface for MARTA Station-related data.

Author
T. Paul
Adapted by B. Tome for MARTA

Definition at line 46 of file CDetector/Station.h.

Member Typedef Documentation

Definition at line 235 of file CDetector/Station.h.

Constructor & Destructor Documentation

Station::Station ( const int  id)
private

Definition at line 35 of file CDetector/Station.cc.

References fRPCCoordinateSystems, fRPCPositions, and fRPCRotations.

Station::~Station ( )
private

Definition at line 65 of file CDetector/Station.cc.

References fRPCCoordinateSystems, fRPCPositions, and fRPCRotations.

cdet::Station::Station ( const Station )
private

Member Function Documentation

const utl::TimeStamp& cdet::Station::GetCommissionTime ( ) const
inline

Station commission time.

Definition at line 64 of file CDetector/Station.h.

References GetCommissionTimeRange(), and utl::TimeRange::GetStartTime().

const TimeRange & Station::GetCommissionTimeRange ( ) const
double Station::GetDeadTime ( ) const
const utl::TimeStamp& cdet::Station::GetDecommissionTime ( ) const
inline

Station decommission time.

Definition at line 68 of file CDetector/Station.h.

References GetCommissionTimeRange(), and utl::TimeRange::GetStopTime().

int cdet::Station::GetId ( ) const
inline

Station ID.

Definition at line 61 of file CDetector/Station.h.

References fId.

vector< unsigned int > Station::GetListPadIds ( ) const
const string & Station::GetName ( ) const
int Station::GetNumberPadsX ( ) const
int Station::GetNumberPadsY ( ) const
int Station::GetNumberRPCChambers ( ) const
double Station::GetPadArea ( ) const
unsigned int Station::GetPadId ( const utl::Point position) const
Point Station::GetPadPosition ( const cevt::Pad pad) const

Pad position relative to center of the tank.

Definition at line 423 of file CDetector/Station.cc.

References cevt::Pad::GetId().

Point Station::GetPadPosition ( const unsigned int &  padId) const
double Station::GetPadSizeX ( ) const
double Station::GetPadSizeY ( ) const
Point Station::GetPosition ( ) const
CoordinateSystemPtr Station::GetRPCCoordinateSystem ( unsigned int  id) const
template<typename T >
det::VManager::Status cdet::Station::GetRPCData ( const std::string &  id,
T &  requestedData,
const std::string &  property,
const std::string &  component,
const std::string &  errorMsg,
const bool  throwOnFailure = true 
) const
inlineprivate
vector< double > Station::GetRPCHousingInnerDimensions ( ) const
vector< double > Station::GetRPCHousingThickness ( ) const
unsigned int cdet::Station::GetRPCId ( const unsigned int &  padId) const
inline

Definition at line 80 of file CDetector/Station.h.

const Point & Station::GetRPCPosition ( const unsigned int  id) const
double Station::GetRPCRotation ( const unsigned int  id) const

RPC rotation around its Z axis (axis perpendicular to RPC plane.

Definition at line 185 of file CDetector/Station.cc.

References fRPCRotations, and GetRPCData().

Referenced by GetRPCCoordinateSystem(), and G4StationSimulatorOG::G4StationConstruction::SetMARTAParameters().

double Station::GetRPCSizeX ( ) const

Dimensions of the RPC chamber.

RPC chamber parameters.

Simulations use this to set the radius of the RPC chamber.

Definition at line 322 of file CDetector/Station.cc.

References fRPCSizeX, utl::Validated< T >::Get(), GetStationData(), utl::Validated< T >::IsValid(), and utl::Validated< T >::SetValid().

Referenced by GetPadId(), GetPadPosition(), GetPadSizeX(), and G4StationSimulatorOG::G4StationConstruction::SetMARTAParameters().

double Station::GetRPCSizeY ( ) const
double cdet::Station::GetSpacerThickness ( ) const
template<typename T >
det::VManager::Status cdet::Station::GetStationData ( T &  requestedData,
const std::string &  property,
const std::string &  component,
const std::string &  errorMsg,
const bool  throwOnFailure = true 
) const
inlineprivate

Helper method to do the redundant work of preparing requests for station data, sending it to the manager and reporting any errors. The errorMsg argument is used to construct some hopefully meaningful error message if the requested component is not found. It should have a description in some human language of what was not located.

Definition at line 176 of file CDetector/Station.h.

References det::VManager::eNotFound, fStationIdString, det::VManager::GetData(), and NotFoundAndThrow().

Referenced by GetCommissionTimeRange(), GetDeadTime(), GetName(), GetNumberPadsX(), GetNumberPadsY(), GetNumberRPCChambers(), GetPosition(), GetRPCHousingInnerDimensions(), GetRPCHousingThickness(), GetRPCSizeX(), GetRPCSizeY(), GetTankSupportCentralFootBaseDimensions(), GetTankSupportCentralFootDimensions(), GetTankSupportOuterFootBaseDimensions(), GetTankSupportOuterFootDimensions(), GetTankSupportOuterFootDistanceToCenter(), GetTankSupportTopSlabDimensions(), and IsInGrid().

vector< double > Station::GetTankSupportCentralFootBaseDimensions ( ) const
vector< double > Station::GetTankSupportCentralFootDimensions ( ) const
vector< double > Station::GetTankSupportOuterFootBaseDimensions ( ) const
vector< double > Station::GetTankSupportOuterFootDimensions ( ) const
double Station::GetTankSupportOuterFootDistanceToCenter ( ) const
vector< double > Station::GetTankSupportTopSlabDimensions ( ) const
static double cdet::Station::GetTimeBinning ( )
inlinestatic

Definition at line 55 of file CDetector/Station.h.

References kTimeBinSize.

bool cdet::Station::IsDense ( ) const
inline

Tells whether the station belongs to set of hypothetical "dense" stations.

So-called "dense" stations can be placed in different locations for each event in order to, for example, sample the shower at 1000 m from the core in the shower coordinate system

Definition at line 145 of file CDetector/Station.h.

References fDense.

Referenced by cdet::CDetector::GetStation().

bool cdet::Station::IsInEngineeringArray ( ) const
inline

Definition at line 147 of file CDetector/Station.h.

bool Station::IsInGrid ( const cdet::CDetectorConstants::GridIndex  index = cdet::CDetectorConstants::eStandard) const

Tells whether the station is in the regular triangular grid.

Definition at line 522 of file CDetector/Station.cc.

References data, cdet::CDetectorConstants::eAny, fDense, fInGrid, utl::Validated< T >::Get(), GetStationData(), utl::Validated< T >::IsValid(), and utl::Validated< T >::SetValid().

void Station::NotFoundAndThrow ( const std::string &  msg) const
private

Definition at line 549 of file CDetector/Station.cc.

References fStationIdString.

Referenced by GetRPCData(), and GetStationData().

Station cdet::Station::operator= ( const Station )
private
void Station::Update ( ) const
private

Friends And Related Function Documentation

friend class CDetector
friend

Definition at line 277 of file CDetector/Station.h.

Member Data Documentation

utl::Validated<utl::TimeRange> cdet::Station::fCommissionTimeRange
mutableprivate

Definition at line 273 of file CDetector/Station.h.

Referenced by GetCommissionTimeRange().

utl::Validated<double> cdet::Station::fDeadTime
mutableprivate

Definition at line 264 of file CDetector/Station.h.

Referenced by GetDeadTime().

bool cdet::Station::fDense
private
utl::ReferenceEllipsoid::EllipsoidID cdet::Station::fEllipsoid
mutableprivate

Definition at line 270 of file CDetector/Station.h.

Referenced by GetPosition().

utl::Validated<int> cdet::Station::fGroupId
mutableprivate

Definition at line 272 of file CDetector/Station.h.

int cdet::Station::fId
private
utl::Validated< InGridType > cdet::Station::fInGrid
mutableprivate

Definition at line 236 of file CDetector/Station.h.

Referenced by IsInGrid(), and cdet::CDetector::Update().

utl::Validated<int> cdet::Station::fIsInAcquisition
mutableprivate

Definition at line 271 of file CDetector/Station.h.

utl::Validated<std::vector<unsigned int> > cdet::Station::fListPadIds
mutableprivate

RPC readout parameters.

Definition at line 257 of file CDetector/Station.h.

Referenced by GetListPadIds(), and Update().

utl::Validated<std::string> cdet::Station::fName
mutableprivate

Definition at line 234 of file CDetector/Station.h.

Referenced by GetName().

utl::Validated<int> cdet::Station::fNumberPadsX
mutableprivate

Definition at line 258 of file CDetector/Station.h.

Referenced by GetNumberPadsX().

utl::Validated<int> cdet::Station::fNumberPadsY
mutableprivate

Definition at line 259 of file CDetector/Station.h.

Referenced by GetNumberPadsY().

utl::Validated<int> cdet::Station::fNumberRPCChambers
mutableprivate

Definition at line 238 of file CDetector/Station.h.

Referenced by GetNumberRPCChambers().

utl::Validated<double> cdet::Station::fPadArea
mutableprivate

Definition at line 263 of file CDetector/Station.h.

Referenced by GetPadArea().

utl::Validated<double> cdet::Station::fPadSizeX
mutableprivate

Definition at line 261 of file CDetector/Station.h.

Referenced by GetPadSizeX().

utl::Validated<double> cdet::Station::fPadSizeY
mutableprivate

Definition at line 262 of file CDetector/Station.h.

Referenced by GetPadSizeY().

utl::Validated<utl::Point> cdet::Station::fPosition
mutableprivate

Definition at line 267 of file CDetector/Station.h.

Referenced by GetPosition(), and Update().

utl::CoordinateSystemPtr cdet::Station::fReferenceSystem
mutableprivate

Definition at line 266 of file CDetector/Station.h.

Referenced by Update().

std::map<unsigned int, utl::CoordinateSystemPtr> cdet::Station::fRPCCoordinateSystems
mutableprivate

Definition at line 241 of file CDetector/Station.h.

Referenced by GetRPCCoordinateSystem(), Station(), Update(), and ~Station().

utl::Validated<std::vector<double> > cdet::Station::fRPCHousingInnerDimensions
mutableprivate

Definition at line 250 of file CDetector/Station.h.

Referenced by GetRPCHousingInnerDimensions().

utl::Validated<std::vector<double> > cdet::Station::fRPCHousingThickness
mutableprivate

Definition at line 251 of file CDetector/Station.h.

Referenced by GetRPCHousingThickness().

std::map<unsigned int, utl::Point> cdet::Station::fRPCPositions
mutableprivate

Definition at line 239 of file CDetector/Station.h.

Referenced by GetRPCPosition(), Station(), Update(), and ~Station().

std::map<unsigned int, double> cdet::Station::fRPCRotations
mutableprivate

Definition at line 240 of file CDetector/Station.h.

Referenced by GetRPCRotation(), Station(), Update(), and ~Station().

utl::Validated<double> cdet::Station::fRPCSizeX
mutableprivate

Definition at line 253 of file CDetector/Station.h.

Referenced by GetRPCSizeX().

utl::Validated<double> cdet::Station::fRPCSizeY
mutableprivate

Definition at line 254 of file CDetector/Station.h.

Referenced by GetRPCSizeY().

std::string cdet::Station::fStationIdString
private

Definition at line 229 of file CDetector/Station.h.

Referenced by GetRPCData(), GetStationData(), and NotFoundAndThrow().

utl::Validated<std::vector<double> > cdet::Station::fTankSupportCentralFootBaseDimensions
mutableprivate

Definition at line 245 of file CDetector/Station.h.

Referenced by GetTankSupportCentralFootBaseDimensions().

utl::Validated<std::vector<double> > cdet::Station::fTankSupportCentralFootDimensions
mutableprivate

Definition at line 244 of file CDetector/Station.h.

Referenced by GetTankSupportCentralFootDimensions().

utl::Validated<std::vector<double> > cdet::Station::fTankSupportOuterFootBaseDimensions
mutableprivate

Definition at line 247 of file CDetector/Station.h.

Referenced by GetTankSupportOuterFootBaseDimensions().

utl::Validated<std::vector<double> > cdet::Station::fTankSupportOuterFootDimensions
mutableprivate

Definition at line 246 of file CDetector/Station.h.

Referenced by GetTankSupportOuterFootDimensions().

utl::Validated<double> cdet::Station::fTankSupportOuterFootDistanceToCenter
mutableprivate

Definition at line 248 of file CDetector/Station.h.

Referenced by GetTankSupportOuterFootDistanceToCenter().

utl::Validated<std::vector<double> > cdet::Station::fTankSupportTopSlabDimensions
mutableprivate

Definition at line 243 of file CDetector/Station.h.

Referenced by GetTankSupportTopSlabDimensions().

const double Station::kTimeBinSize = 1.0*utl::nanosecond
staticprivate

Definition at line 52 of file CDetector/Station.h.

Referenced by GetTimeBinning().


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

, generated on Tue Sep 26 2023.