1 #ifndef _fevt_Telescope_h_
2 #define _fevt_Telescope_h_
6 #include <boost/iterator/indirect_iterator.hpp>
7 #include <boost/iterator/filter_iterator.hpp>
9 #include <utl/TimeStamp.h>
10 #include <utl/ShadowPtr.h>
11 #include <utl/Vector.h>
13 #include <fevt/FdComponentSelector.h>
14 #include <fevt/TelescopeSimData.h>
15 #include <fevt/TelescopeRecData.h>
16 #include <fevt/TelescopeTriggerData.h>
18 #include <fdet/Camera.h>
79 bool HasChannel(
const unsigned int channelId)
const;
100 void MakePixel(
const unsigned int pixelId,
103 bool HasPixel(
const unsigned int pixelId,
178 Telescope(const
unsigned int eyeId, const
unsigned int telescopeId,
182 void CorrectIds(const
unsigned int eyeId, const
unsigned int telescopeId);
PixelIterator PixelsEnd(const ComponentSelector::Status status)
iterator pointing to end of available pixels of given status
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES_ARG(_Iterator_, _ConstIterator_, _NamePrefix_, _Arg_)
Predicate specifying whether telescope is selected or not.
ChannelIterator ChannelsBegin()
boost::indirect_iterator< InternalPixelIterator, Pixel & > AllPixelIterator
An iterator over all pixels for read and write.
void GenerateMirrorEventBorderPixels() const
bool HasTriggerData() const
AllPixelIterator AllPixelsEnd()
#define OFFLINE_MAKE_BOTH_ITERATOR_RANGES(_Iterator_, _ConstIterator_, _NamePrefix_)
unsigned int GetTimeOffset() const
Time offset of this Telescope compared to fevt::Header::GetTime [ns].
Fluorescence Detector Eye Event.
utl::TimeStamp fTracesStartTime
ComponentSelector::Status GetStatus() const
void SetStatus(const ComponentSelector::Status status)
void SetTimeOffset(const unsigned int toffset)
unsigned int GetEyeId() const
ChannelIterator ChannelsEnd()
std::string GetRawTelPointing() const
The pointing.
unsigned int GetNActiveChannels() const
std::list< Pixel * > InternalPixelContainer
Telescope & operator=(const Telescope &t)
ConstChannelIterator ChannelsBegin() const
fevt::TelescopeRecData & GetRecData()
Reconstructed data for this telescope.
InternalChannelContainer fChannels
InternalChannelContainer::const_iterator InternalConstChannelIterator
AllPixelIterator AllPixelsBegin()
PixelIterator PixelsEnd()
iterator pointing to end of available pixels of status eHasData (DEPRECATED)
std::vector< utl::Vector >::const_iterator ConstMirrorEventBorderPixelsIterator
A TimeStamp holds GPS second and nanosecond for some event.
InternalPixelContainer fPixels
void MakePixel(const unsigned int pixelId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Make Pixel telescopeId.
bool HasPixel(const unsigned int pixelId, const ComponentSelector::Status status=ComponentSelector::eHasData) const
Check if the pixel is in the event.
fevt::TelescopeSimData & GetSimData()
Description of simulated data for one Telescope.
ConstMirrorEventBorderPixelsIterator MirrorEventBorderPixelsEnd() const
End of list of pixels just outside the mirror event.
Status
Return code for seek operation.
Channel & GetChannel(const unsigned int channelId)
std::list< Channel * > InternalChannelContainer
InternalPixelDirCollection fMirrorEventBorderPixelsDir
Fluorescence Detector Pixel event.
void SetTracesStartTime(const utl::TimeStamp &tstamp)
unsigned int fTelescopeId
boost::indirect_iterator< InternalConstPixelIterator, const Pixel & > ConstAllPixelIterator
An iterator over pixels for read.
void CorrectIds(const unsigned int eyeId, const unsigned int telescopeId)
boost::filter_iterator< ComponentSelector, ConstAllPixelIterator > ConstPixelIterator
#define OFFLINE_MAKE_CONST_ITERATOR_RANGE(_ConstIterator_, _NamePrefix_)
Telescope-specific shower reconstruction data.
void SetRawTelPointing(const std::string &pointing)
Fluorescence Detector Channel Event.
utl::ShadowPtr< TelescopeRecData > fRecData
Status
Possible component status.
ConstAllPixelIterator AllPixelsEnd() const
void MakeChannel(const unsigned int channelId)
ConstMirrorEventBorderPixelsIterator MirrorEventBorderPixelsBegin() const
Begin of list of pixels just outside the mirror event.
utl::ShadowPtr< TelescopeTriggerData > fTriggerData
unsigned int GetNActivePixels() const
Pixel & GetPixel(const unsigned int pixelId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Retrieve Pixel by Id, throw exception if not existent.
boost::filter_iterator< ComponentSelector, AllPixelIterator > PixelIterator
selective Pixel iterators
bool HasChannel(const unsigned int channelId) const
ComponentSelector::Status fStatus
This is for HEAT to determine pointing.
unsigned int GetId() const
ConstAllPixelIterator AllPixelsBegin() const
utl::ShadowPtr< TelescopeSimData > fSimData
boost::indirect_iterator< InternalConstChannelIterator, const Channel & > ConstChannelIterator
An iterator over available channles for read.
std::string fRawTelPointing
boost::indirect_iterator< InternalChannelIterator, Channel & > ChannelIterator
An iterator over available channels for r/w.
InternalPixelContainer::iterator InternalPixelIterator
std::vector< utl::Vector > InternalPixelDirCollection
Fluorescence Detector Telescope Event.
PixelIterator PixelsBegin()
iterator pointing to first available pixel of status eHasData (DEPRECATED)
Description of trigger data for one Telescope.
ConstPixelIterator PixelsEnd(const ComponentSelector::Status status) const
end of available pixels of given status
fevt::TelescopeTriggerData & GetTriggerData()
InternalChannelContainer::iterator InternalChannelIterator
ConstChannelIterator ChannelsEnd() const
ConstPixelIterator PixelsBegin(const ComponentSelector::Status status) const
first available pixel of given status
void Assign(const Telescope &t)
copy all but keep original telescope and eye id
utl::TimeStamp GetTracesStartTime() const
InternalPixelContainer::const_iterator InternalConstPixelIterator