6 #ifndef _cevt_Station_h_
7 #define _cevt_Station_h_
10 #include <boost/iterator/indirect_iterator.hpp>
12 #include <utl/ShadowPtr.h>
13 #include <utl/AugerException.h>
14 #include <utl/TimeStamp.h>
15 #include <utl/TimeDistribution.h>
16 #include <utl/MultiTimeDistribution.h>
17 #include <utl/TimeDistributionAlgorithm.h>
19 #include <cevt/StationConstants.h>
20 #include <cevt/StationSimData.h>
21 #include <cevt/StationRecData.h>
54 typedef boost::indirect_iterator<InternalPadIterator, Pad&>
PadIterator;
57 typedef boost::indirect_iterator<InternalConstPadIterator, const Pad&>
ConstPadIterator;
65 bool HasPad(
const unsigned int padId)
const;
70 const Pad&
GetPad(
const unsigned int padId)
const;
74 void MakePad(
const unsigned int padId);
78 {
return fPads.size(); }
81 {
return fPads.size(); }
198 {
return fHits->GetTimeDistribution(source); }
202 {
return fHits->GetTimeDistribution(source); }
209 {
return fHits->HasLabel(source); }
385 #include <cevt/Pad.h>
386 #include <cevt/StationSimData.h>
387 #include <cevt/StationRecData.h>
static const SignalComponent eBackgroundPhoton
photons from background
RejectedStationFilter(const int statusMask)
static const RejectionStatus eMCInnerRadiusCut
pointer with built-in initialization, deletion, deep copying
static const SignalComponent eDeltaRay
delta rays
static const RejectionStatus eEngineeringArray
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::iterator, LabeledObjectType > Iterator
static const SignalComponent eMySource9
User-defined source.
utl::ShadowPtr< StationSimData > fSimData
static const SignalComponent eMySource5
User-defined source.
static const SignalComponent eMySource2
User-defined source.
static const RejectionStatus eNoRejection
static const SignalComponent ePhotonFromOtherSource
static const SignalComponent eMySource6
User-defined source.
unsigned int GetNumberActivePads() const
Station Level Simulated Data
bool HasSimData() const
Check whether station simulated data exists.
ConstPadIterator PadsEnd() const
end Pad iterator for read
static const SignalComponent ePhotonFromShowerPhoton
ConstHitsIterator HitsBegin() const
Pad & GetPad(const unsigned int padId)
Retrive a Pad by Id.
utl::TimeStamp GetHitsStartTime() const
Get absolute start time of the hits time distribution.
void SetSilent()
Set silent station flag.
static const RejectionStatus eLonely
Describes a particle for Simulation.
static const RejectionStatus eNumRejectionStatusBits
static const SignalComponent ePhotonFromShowerMuon
void MakeHits(const SignalComponent source=eTotal)
Make a time distribution. Source may be specified.
bool IsRejected() const
Check if the station is rejected.
Station(const Station &station)
static const SignalComponent eBackgroundMuon
muons from background
static const SignalComponent eMySource4
User-defined source.
std::vector< Pad * >::const_iterator InternalConstPadIterator
static const SignalComponent eOtherNeutrals
other neutral particles
Histogram class for time distributions with suppressed empty bins.
Class to access station level reconstructed data.
static const SignalComponent eMySource0
User-defined source.
static const SignalComponent eElectronFromOtherSource
static const SignalComponent eHadron
all hadrons from shower
bool operator()(const Station &station)
static const SignalComponent eDecayElectron
electrons from muon decay
static const SignalComponent eMySource3
User-defined source.
static const SignalComponent eBackgroundHadron
hadrons from background
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledObjectType > ConstIterator
static const SignalComponent eTotal
total (shower and background)
static const SignalComponent ePhoton
gammas from shower
A TimeStamp holds GPS second and nanosecond for some event.
static std::string GetSignalComponentName(const SignalComponent sc)
bool IsCandidate() const
Check if the station is a candidate.
class to hold data at Pad level
electrons from muon decay
static const SignalComponent eLastSource
utl::InitializedShadowPtr< utl::MultiTimeDistributionI > fHits
bool IsSilent() const
Check if the station is silent.
static const SignalComponent eElectronFromShowerPhoton
void SetCandidate()
Set candidate station flag.
bool HasPad(const unsigned int padId) const
Check if a particular Pad object exists.
void SetHitsStartTime(const utl::TimeStamp &Time)
Set absolute start time of the hits time distribution.
int GetId() const
Get the station Id.
static const SignalComponent eMySource7
User-defined source.
static const SignalComponent eShowerMuonDecayElectron
electrons from muon decay in shower
ReconstructionStatus fReconstructionStatus
photons from muon decay in shower
static const RejectionStatus eNoRecData
static const RejectionStatus eNoTrigger
Station & operator=(const Station &station)
static const RejectionStatus eNoCalibData
static const RejectionStatus eNoGPSData
void MakeRecData()
Make station reconstructed data object.
electrons from background
static const RejectionStatus eErrorCode
bool HasHits(const SignalComponent source=eTotal) const
Check if a digitized signal exists. Source may be specified.
StationRecData & GetRecData()
Get station level reconstructed data.
utl::TimeDistributionI & GetHits(const SignalComponent source=eTotal)
Time distribution of hits.
ConstHitsIterator HitsEnd() const
static const SignalComponent eElectronFromShowerElectron
separate electron components
void SetRejected(const int reason)
Set rejected station flag.
static const SignalComponent eMySource1
User-defined source.
unsigned int GetTotalHits(const SignalComponent source=eTotal) const
Get the total number of counts, optionally specifying a component.
static const ReconstructionStatus eSilent
static const char CvsId_cevt_Station[]
StationConstants::SignalComponent SignalComponent
const StationRecData & GetRecData() const
const utl::TimeDistributionI & GetHits(const SignalComponent source=eTotal) const
ConstPadIterator PadsBegin() const
begin Pad iterator for read
class to hold data at Station level
void ClearRejectionStatus()
boost::indirect_iterator< InternalPadIterator, Pad & > PadIterator
Iterator over station for read/write.
PadIterator PadsEnd()
end Pad iterator for read/write
static const ReconstructionStatus eCandidate
std::vector< Pad * > fPads
static const SignalComponent ePhotonFromShowerElectron
secondary photons
unsigned int GetNumberActivePads()
Get the number of pads with signal.
const StationSimData & GetSimData() const
static const RejectionStatus eBadCalib
static const RejectionStatus eOffGrid
static const SignalComponent eShowerMuonDecayPhoton
photons from muon decay in shower
utl::TimeStamp fHitsStartTime
total (shower and background)
static const SignalComponent eMuon
mu+ and mu- (including signal from mu decay electrons) from shower
static const SignalComponent eMySource8
User-defined source.
static const std::string fgSourceNameLookup[eLastSource+1]
static const RejectionStatus eDenseArray
utl::ShadowPtr< StationRecData > fRecData
utl::MultiTimeDistributionI::ConstIterator ConstHitsIterator
static const SignalComponent eElectron
electrons and positrons from shower
static const RejectionStatus eNotDenseArray
electrons from muon decay in shower
std::vector< Pad * >::iterator InternalPadIterator
StationConstants::RejectionStatus RejectionStatus
static const RejectionStatus eOutOfTime
static cevt::Station::SignalComponent GetSignalComponent(const utl::Particle &)
void MakePad(const unsigned int padId)
Make a Pad by Id.
StationConstants::ReconstructionStatus ReconstructionStatus
bool HasRecData() const
Check whether station reconstructed data exists.
static const SignalComponent eElectronFromShowerMuon
PadIterator PadsBegin()
begin Pad iterator for read/write
bool operator()(const Station &station)
utl::MultiTimeDistributionI::Iterator HitsIterator
int GetRejectionStatus() const
static const ReconstructionStatus eRejected
bool operator()(const Station &station)
StationSimData & GetSimData()
Get simulated data at station level.
static const SignalComponent eBackgroundElectron
electrons from background
boost::indirect_iterator< InternalConstPadIterator, const Pad & > ConstPadIterator
Iterator over station for read.
const utl::MultiTimeDistributionI & GetMultiHits()
Interface class to access to the SD part of an event.
void MakeSimData()
Make station simulated data object.