STTools C++ API Reference¶
-
class I3BasicSeededRTConfigurationService : public sttools::seededRT::I3SeededRTConfigurationService, public I3ServiceBase¶
This class provides a seededRT ST configuration with commonly used DOM link ST configurations. It does not support distinct ST configurations for different subdetectors, with the exception of IceTop, which is fixed to an internal RT time and distance of zero, and has no links to other subdetectors.
Public Functions
-
inline void Configure()¶
-
inline void Configure()¶
-
class I3FourVector¶
- #include <I3FourVector.h>
Public Functions
-
inline I3FourVector()¶
-
inline I3FourVector(double x0, double x1, double x2, double x3)¶
-
inline I3FourVector(const I3FourVector &rhs)¶
-
inline double GetX0() const¶
-
inline double GetX1() const¶
-
inline double GetX2() const¶
-
inline double GetX3() const¶
-
inline void SetX0(double x)¶
-
inline void SetX1(double x)¶
-
inline void SetX2(double x)¶
-
inline void SetX3(double x)¶
-
inline I3Position GetThreeVectorAsI3Position() const¶
-
inline bool IsNAN() const¶
- Returns:
true
if at least one component is nan andfalse
otherwise.
-
inline void Set(double x0, double x1, double x2, double x3)¶
Sets all four components to the given values.
-
inline void SetToNAN()¶
Sets all four components to NAN.
-
inline std::string str()¶
- Returns:
A std::string representation of this I3FourVector class.
-
template<typename T>
inline I3FourVector &operator+=(const T &rhs)¶
-
I3FourVector &operator+=(const I3FourVector &rhs)¶
-
template<typename T>
inline I3FourVector &operator/=(const T &rhs)¶
-
I3FourVector &operator/=(const I3FourVector &rhs)¶
Protected Attributes
-
double x0_¶
The four components of the vector.
-
double x1_¶
-
double x2_¶
-
double x3_¶
Private Functions
- SET_LOGGER ("I3FourVector")
-
inline I3FourVector()¶
-
template<class SDataType, class SContextType, class PySContext_interfaceType>
class I3PySContext_interface : public def_visitor¶ - #include <I3PySContext.h>
-
class I3PySeededRTConfigurationService : public sttools::seededRT::I3SeededRTConfigurationService, public boost::python::wrapper<I3SeededRTConfigurationService>¶
- #include <I3PySeededRTConfigurationService.h>
Public Functions
-
inline I3PySeededRTConfigurationService(bool allowSelfCoincidence, bool useDustlayerCorrection, double dustlayerUpperZBoundary, double dustlayerLowerZBoundary)¶
- I3PySTConfigurationService_IMPLEMENTATION (I3SeededRTConfiguration, I3SeededRTConfigurationService) bool PyAreGlobalSettingsConsistant(bool throwException
-
inline I3PySeededRTConfigurationService(bool allowSelfCoincidence, bool useDustlayerCorrection, double dustlayerUpperZBoundary, double dustlayerLowerZBoundary)¶
-
class I3PySeededRTConfigurationService_interface : public sttools::I3PySTConfigurationService_interface<I3SeededRTConfiguration, I3SeededRTSContext, I3PySeededRTConfigurationService, I3PySeededRTConfigurationService_interface>¶
- #include <I3PySeededRTConfigurationService.h>
Private Types
-
typedef I3PySTConfigurationService_interface<I3SeededRTConfiguration, I3SeededRTSContext, I3PySeededRTConfigurationService, I3PySeededRTConfigurationService_interface> I3PySTConfigurationService_interface_t¶
-
typedef I3PySTConfigurationService_interface<I3SeededRTConfiguration, I3SeededRTSContext, I3PySeededRTConfigurationService, I3PySeededRTConfigurationService_interface> I3PySTConfigurationService_interface_t¶
-
class I3PySeededRTSContext_interface : public sttools::I3PySContext_interface<I3SeededRTSData, I3SeededRTSContext, I3PySeededRTSContext_interface>¶
- #include <I3PySeededRTSContext.h>
Private Types
-
typedef I3PySContext_interface<I3SeededRTSData, I3SeededRTSContext, I3PySeededRTSContext_interface> I3PySContext_interface_t¶
-
typedef I3PySContext_interface<I3SeededRTSData, I3SeededRTSContext, I3PySeededRTSContext_interface> I3PySContext_interface_t¶
-
template<class STConfigurationType, class SContextType, class STConfigurationServiceType, class PySTConfigurationService_interfaceType>
class I3PySTConfigurationService_interface : public def_visitor¶ - #include <I3PySTConfigurationService.h>
-
template<class HitType, class OutType = I3Map<OMKey, vector<HitType>>>
class I3RTVetoModule : public I3STModule<sttools::seededRT::I3SeededRTConfigurationService>¶ -
Protected Types
-
typedef sttools::seededRT::I3SeededRTSTHitInfo<HitType> STHitInfo¶
Protected Functions
-
I3_POINTER_TYPEDEFS(InputHitSeriesMap)¶
-
I3_POINTER_TYPEDEFS(STHitInfoSeries)¶
-
virtual void SetupSContext(I3FramePtr frame)¶
The SetupSContext method is pure virtual and must be implemented by the derived module.
This method should setup the internals of the SContext class module member variable sContext_, e.g. the spatial condition map based on a Geometry frame. This method gets called by the Geometry frame-stop method, whenever a new geometry frame passes by.
-
virtual void RunSTAlgorithm(I3FramePtr frame)¶
The RunSTAlgorithm method is pure virtual and must be implemented by the derived module. This is the actual work-horse method, that is running the particular ST algorithm. This method is registered to the configured frame type (a.k.a. stream).
Private Functions
- SET_LOGGER ("I3RTVetoModule")
-
typedef sttools::seededRT::I3SeededRTSTHitInfo<HitType> STHitInfo¶
-
class I3RUsageTimer¶
- #include <I3RUsageTimer.h>
Public Functions
-
inline I3RUsageTimer()¶
-
inline I3RUsageTimer(double &totSysTime, double &totUsrTime, double &totWCTime, bool startImmediately = false, bool resetTotalTimes = false)¶
-
inline I3RUsageTimer(I3RUsage &rusage, bool startImmediately = false, bool resetTotalTimes = false)¶
-
inline I3RUsageTimer(I3RUsagePtr rusage, bool startImmediately = false, bool resetTotalTimes = false)¶
This constructor is needed for the pybindings. We will store the given shared pointer to the I3RUsage object within the timer class, so the I3RUsage object will not get destroyed at any time.
-
inline ~I3RUsageTimer()¶
-
void ResetTotalTimes()¶
Resets the total system, user, and wallclock times to zero.
-
bool Start(bool resetTotTimes = false)¶
Starts the timer.
- Parameters:
resetTotTimes – If set to
true
, the total system, user, and wallclock time will be reset to zero.- Returns:
The status of the timer (
true
if it is active,false
otherwise (i.e. an error occurred).
-
bool Stop()¶
Stops the timer. On success, it updates the system, user, and wallclock time by adding the measuring time duration.
- Returns:
The status of the timer (
true
if it is still active after this call (i.e. an error occurred),false
otherwise.
-
I3RUsagePtr GetCurrentRUsage()¶
Note
The method assumes, that the Start and Stop methods had been called before. If not, the values of the returned I3RUsage object are arbitrary.
- Returns:
The current resource usage by returning a shared pointer to a new I3RUsage frame object, which could be put into an I3Frame. If there was an error, a NULL shared pointer is returned instead.
-
I3RUsagePtr GetTotalRUsage()¶
- Returns:
The total resource usage as a shared pointer to a newly created I3RUsage frame object, which could be put into an I3Frame.
Protected Functions
-
double Delta(const struct timeval &startTime, const struct timeval &stopTime)¶
Returns the time difference in IceCube units between the stop and start times given by two
struct timeval
variables.
Protected Attributes
-
I3RUsagePtr internalTotRUsage_¶
A shared pointer to an I3RUsage object for storing the total system, user, and wallclock time if no external storage was provided.
-
double &totSysTime_¶
The reference to the total used system time.
-
double &totUsrTime_¶
The reference to the total used user time.
-
double &totWCTime_¶
The reference to the total used wallclock time.
-
struct rusage ruStart_¶
The resource usage at the start time of the timer.
-
struct rusage ruStop_¶
The resource usage at the stop time of the timer.
-
struct timeval wctStart_¶
The wallclock timeval at the start time of the timer.
-
struct timeval wctStop_¶
The wallclock timeval at the stop time of the timer.
-
bool isActive_¶
Flag if the timer is currently active and is measuring the time.
Private Functions
- SET_LOGGER ("I3RUsageTimer")
-
inline I3RUsageTimer()¶
-
template<class SDataType>
class I3SContext¶ - #include <I3SContext.h>
Public Functions
-
inline I3SContext()¶
The default constructor.
-
inline I3SContext(const I3OMGeoMap &omGeoMap, typename OMKeyPairMap<SDataType>::Symmetry sDataMapSym)¶
-
inline boost::shared_ptr<OMKeyPairMap<SDataType>> GetSDataMap()¶
Returns a shared pointer to the spatial data map.
-
inline boost::shared_ptr<const OMKeyPairMap<SDataType>> GetSDataMap() const¶
-
inline void ConstructSDataMap(const I3OMGeoMap &omGeoMap, typename OMKeyPairMap<SDataType>::Symmetry sDataMapSym)¶
Constructs a new spatial data map and sets it to the context.
Note
An already constructed spatial data map will get destroyed if no shared pointer to the old spatial data map was retrieved via the
GetSDataMap
method before.- Parameters:
omGeoMap – The I3OMGeoMap object for which the spatial data map will be valid.
sDataMapSym – The OMKey pair symmetry of the spatial data map.
Protected Attributes
-
boost::shared_ptr<OMKeyPairMap<SDataType>> sDataMap_¶
The OMKeyPairMap, that stores the spatial data for each possible OMKey pair of the detector.
-
inline I3SContext()¶
-
template<class HitType, class OutType = I3Map<OMKey, vector<HitType>>>
class I3SeededRTCleaningModule : public I3STModule<sttools::seededRT::I3SeededRTConfigurationService>¶ -
Protected Types
-
typedef sttools::seededRT::I3SeededRTSTHitInfo<HitType> STHitInfo¶
Protected Functions
-
I3_POINTER_TYPEDEFS(InputHitSeriesMap)¶
-
I3_POINTER_TYPEDEFS(STHitInfoSeries)¶
-
virtual void SetupSContext(I3FramePtr frame)¶
The SetupSContext method is pure virtual and must be implemented by the derived module.
This method should setup the internals of the SContext class module member variable sContext_, e.g. the spatial condition map based on a Geometry frame. This method gets called by the Geometry frame-stop method, whenever a new geometry frame passes by.
-
virtual void RunSTAlgorithm(I3FramePtr frame)¶
The RunSTAlgorithm method is pure virtual and must be implemented by the derived module. This is the actual work-horse method, that is running the particular ST algorithm. This method is registered to the configured frame type (a.k.a. stream).
Protected Attributes
-
std::vector<OMKey> seedOMKeyList_¶
The list of OMKey objects that should be used for the OMKeyList seed procedure.
-
std::string seedHitSeriesMapName_¶
The name of the hit series map inside the current processed frame, whose hits should be used as seed hits.
-
bool allowNoSeedHits_¶
The switch if it is allowed that an event has no seed hits, i.e. no hits will be present in the output for those events.
-
bool storeEmptyResults_¶
The switch if result hit maps should be stored in the frame when they are empty.
-
int32_t maxNIterations_¶
The maximal number of iterations for the iterative RT hits selection procedure. The value -1 meens no constraint.
-
uint32_t nEventsWithNoSeedHits_¶
The number of events for which the configured seed procedure did not find any seed hits.
-
boost::function<uint32_t(const I3Frame&, STHitInfoSeries&)> doSeedProcedure_¶
BOOST function pointer that points to the configured seed procedure function.
-
std::string outputDiscardedHLCHitSeriesMapName_¶
The name of the optional output hit series map, that contains the cleaned away HLC hits.
-
std::string outputDiscardedSLCHitSeriesMapName_¶
The name of the optional output hit series map, that contains the cleaned away SLC hits.
-
I3GeometryConstPtr currentGeometry_¶
The last I3Geometry object seen
Private Functions
- SET_LOGGER ("I3SeededRTCleaningModule")
-
typedef sttools::seededRT::I3SeededRTSTHitInfo<HitType> STHitInfo¶
-
class I3SeededRTConfiguration : public I3STConfiguration¶
- #include <I3SeededRTConfiguration.h>
Public Types
Public Functions
-
inline I3SeededRTConfiguration()¶
The default constructor, needed by icecube::serialization.
-
inline I3SeededRTConfiguration(const std::string &name, const I3VectorOMKeyLinkSet &omKeyLinkSets, SeededRTCoordSys rtCoordSys, double rtTime, double rtRadius, double rtHeight)¶
The normal constructor. It allows to set each configuration option.
-
inline I3SeededRTConfiguration(const I3SeededRTConfiguration &rhs)¶
-
virtual ~I3SeededRTConfiguration()¶
-
inline SeededRTCoordSys GetRTCoordSys() const¶
-
inline double GetRTTime() const¶
-
inline double GetRTRadius() const¶
-
inline double GetRTHeight() const¶
-
inline void SetRTCoordSys(SeededRTCoordSys c)¶
-
inline void SetRTTime(double t)¶
-
inline void SetRTRadius(double r)¶
-
inline void SetRTHeight(double h)¶
-
inline bool operator==(const I3SeededRTConfiguration &rhs) const¶
-
inline double GetSTVolumetime() const¶
The ST volume time (ST volume times ST time) that is spaned up by this ST configuration. This value can be used to compare two ST configurations in terms of their effectiveness.
Protected Attributes
-
SeededRTCoordSys rtCoordSys_¶
The type of the coordinate system to use for seededRT condition calculations.
-
double rtTime_¶
The time interval to use for seededRT condition calculations.
-
double rtRadius_¶
The distance radius to use for seededRT condition calculations.
-
double rtHeight_¶
If rtCoordSys_ is set to
Cyl
, this specifies the height of the cylinder that should be used around an OM for calculating the seededRT condition. The radius of the cylinder is then defined through the value of rtRadius_.
Private Functions
- SET_LOGGER ("I3SeededRTConfiguration")
Friends
- friend class icecube::serialization::access
-
inline I3SeededRTConfiguration()¶
-
class I3SeededRTConfigurationService : public sttools::I3STConfigurationService<I3SeededRTConfiguration, I3SeededRTSContext>¶
- #include <I3SeededRTConfigurationService.h>
Subclassed by sttools::seededRT::I3BasicSeededRTConfigurationService, sttools::seededRT::I3PySeededRTConfigurationService
Public Functions
-
inline I3SeededRTConfigurationService(bool allowSelfCoincidence, bool useDustlayerCorrection, double dustlayerUpperZBoundary, double dustlayerLowerZBoundary)¶
-
inline bool GetAllowSelfCoincidence() const¶
-
inline void SetAllowSelfCoincidence(bool b)¶
-
inline bool GetUseDustlayerCorrection() const¶
Returns the global flag if the main dustlayer correction should be used.
-
inline void SetUseDustlayerCorrection(bool b)¶
-
inline double GetDustlayerUpperZBoundary() const¶
Returns the global setting for the upper z boundary of the main dust layer.
-
inline void SetDustlayerUpperZBoundary(double z)¶
-
inline double GetDustlayerLowerZBoundary() const¶
Returns the global setting for the lower z boundary of the main dust layer.
-
inline void SetDustlayerLowerZBoundary(double z)¶
-
virtual bool AreGlobalSettingsConsistant(bool throwException = false) const¶
Checks if the global settings are set consistantly.
- Parameters:
throwException – If set to
true
, a log_fatal with an error message will be issued when a setting is not consistant.
-
virtual void FreezeSTConfiguration()¶
Freezes the ST configuration for optimal performance. It gets the maximal configured RTTime.
-
virtual void UnfreezeSTConfiguration()¶
Unfreezes the ST configuration.
-
inline double GetMaxRTTime() const¶
Returns the maximal
-
virtual bool SetupSContext(const I3OMGeoMap &omGeoMap)¶
Setups the spatial data map inside the I3SeededRTSContext object of this I3SeededRTConfigurationService object, based on the given I3OMGeo object, using the seededRT procedure.
Note
The spatial data map of the I3SeededRTSContext will be configured with an asymetric OMKey pair symmetry.
Protected Attributes
-
bool allowSelfCoincidence_¶
The global flag if hits of the same OM can be in causial ST connection.
-
bool useDustlayerCorrection_¶
The global flag if the main dust layer correction should be used (true) or not (false).
-
double dustlayerUpperZBoundary_¶
The global setting for the upper z boundary of the main dust layer in IceCube detector coordinates.
-
double dustlayerLowerZBoundary_¶
The global setting for the lower z boundary of the main dust layer in IceCube detector coordinates.
-
double maxRTTime_¶
The cached value for the maximal configured RT time.
Private Functions
- SET_LOGGER ("I3SeededRTConfigurationService")
-
inline I3SeededRTConfigurationService(bool allowSelfCoincidence, bool useDustlayerCorrection, double dustlayerUpperZBoundary, double dustlayerLowerZBoundary)¶
-
class I3SeededRTSContext : public sttools::I3SContext<I3SeededRTSData>¶
- #include <I3SeededRTSContext.h>
Public Functions
-
inline I3SeededRTSContext()¶
The default constructor.
-
inline I3SeededRTSContext(const I3OMGeoMap &omGeoMap, sttools::OMKeyPairMap<I3SeededRTSData>::Symmetry sDataMapSym)¶
-
inline double GetMaxDustlayerCorrectionLength() const¶
-
inline void SetMaxDustlayerCorrectionLength(double l)¶
Protected Attributes
-
double maxDustlayerCorrectionLength_¶
The maximal dustlayer correction length calculated for the spatial data map.
-
inline I3SeededRTSContext()¶
-
struct I3SeededRTSData¶
- #include <I3SeededRTSData.h>
The I3SeededRTSData struct holds data about the spatial causal condition between two OMs. This data struct is used in an OMKeyPairMap to store these information for a pair of OMKeys, i.e. one OM link.
Public Functions
-
inline I3SeededRTSData()¶
Public Members
-
I3SeededRTConfiguration const *stConfig_¶
The pointer to the ST configuration object valid for the particular OM link. If this pointer is set to NULL, the two OMs of the OM link are not in spatial connection.
-
double dustlayerCorrectionLength_¶
The length of the spatial correction to account for (longer, due to higher scattering) propagation of light inside the main dustlayer.
-
inline I3SeededRTSData()¶
-
template<class HitType>
class I3SeededRTSTHitInfo : public sttools::I3STHitInfo<HitType>¶ - #include <I3SeededRTSTHitInfo.h>
The I3SeededRTSTHitInfo class provides a data container for storing ST related information about a particular hit used by the seededRT algorithm as it is known from the classic SeededRTCleaning project.
Public Functions
-
inline I3SeededRTSTHitInfo(const OMKey omKey, const I3Position *omPosPtr, const HitType *hitPtr, uint32_t hitIdxWithinOMHitSeries, bool isHitSelected = false, bool isHitNewlySelected = false)¶
-
inline I3SeededRTSTHitInfo()¶
-
inline I3SeededRTSTHitInfo(const I3SeededRTSTHitInfo &rhs)¶
-
inline bool GetIsHitSelected() const¶
-
inline bool GetIsHitNewlySelected() const¶
-
inline void SetIsHitSelected(bool b)¶
-
inline void SetIsHitNewlySelected(bool b)¶
-
std::vector<OMKey> GetSTPartnerOMKeys(const OMKeyHasher &hasher) const¶
Returns a std::vector< OMKey > holding the OMKey objects of the OMs, which fulfill the ST conditions for this hit.
-
inline bool IsHitSelected() const¶
-
inline bool IsHitNewlySelected() const¶
-
inline I3SeededRTSTHitInfo(const OMKey omKey, const I3Position *omPosPtr, const HitType *hitPtr, uint32_t hitIdxWithinOMHitSeries, bool isHitSelected = false, bool isHitNewlySelected = false)¶
-
template<class STConfigurationType, class SContextType>
class I3STConfigurationService : public noncopyable¶ - #include <I3STConfigurationService.h>
The I3STConfigurationService is noncopyable because it stores an array of raw pointers to STConfigurationType objects stored in itself. By copying the service, the raw pointers would point to the wrong (i.e. the old) STConfigurationType objects.
Public Functions
-
inline I3STConfigurationService()¶
-
inline virtual ~I3STConfigurationService()¶
-
template<class STConfigurationType_>
STConfigurationType_ CreateDefaultSTConfiguration() const¶ Creates the default ST configuration object. This method should be reimplemented by the derived class.
-
const SContextType::s_data_t &GetSDataForOMLink(const OMKey &omKey1, const OMKey &omKey2) const¶
-
const STConfigurationType &GetSTConfigurationForOMLink(const OMKey &omKey1, const OMKey &omKey2) const¶
Returns the STConfigurationType object set for the given OM link. This function loops through the stConfigVecPtr_ member variable. Thus, it is slow and should be used only when initializing the algorithm. The algorithm itself should cache the ST configuration for a particular DOM link in any way for fast access during event processing.
-
I3VectorOMKey GetOMKeys() const¶
Returns an I3VectorOMKey that contains all OMs which are somehow configured by this ST configuration service.
Note
The OMKeys in the returned list are unique.
-
virtual bool IsSTConfigurationComplete(const I3OMGeoMap &omGeoMap) const¶
Checks if the ST configuration provided by this ST configuration service is complete. This means, that all OMKeys present in the given geometry are also present in this ST configuration, i.e. each OM can be found in at least one OM link.
-
inline boost::shared_ptr<I3Vector<STConfigurationType>> GetSTConfigVecPtr()¶
Returns a boost::shared_ptr to the stConfigVecPtr_ member variable.
Sets the stConfigVec_ member variable.
-
inline virtual void FreezeSTConfiguration()¶
Freezes the ST configuration (i.e. the stConfigVec_ member variable).
-
inline virtual void UnfreezeSTConfiguration()¶
Unfreezes the ST configuration (i.e. the stConfigVec_ member variable).
-
inline virtual bool IsSTConfigurationFrozen() const¶
Returns
true
if the ST configuration (i.e. the stConfigVecPtr_ member variable) is frozen andfalse
otherwise.Note
If the ST configuration is frozen, it must not be changed until the
UnfreezeSTConfiguration
method has been called!
-
inline const I3OMGeoMap &GetOMGeoMap() const¶
Returns a const reference to the I3OMGeoMap object, that is used by this ST configuration service (to setup the spatial context).
-
inline const SContextType &GetSContext() const¶
Returns a (const) reference to the spatial context object.
-
inline SContextType &GetSContext()¶
-
inline const STConfigurationType &GetDefaultSTConfig() const¶
Returns a reference to the default ST configuration object.
-
virtual bool SetupSContext(const I3OMGeoMap &omGeoMap)¶
The SetupSContext method should be re-implemented by the derived class, i.e the particular ST algorithm, and should setup the spatial ST context based on the given I3OMGeoMap object if, and only if, this method returns
false
. Otherwise it should just do nothing. This method here checks if the ST configuration is frozen and throws an exception if not. Furthermore it checks if the ST configuration is complete, and if the given I3OMGeoMap object is seen by this ST configuration service by the first time.
-
template<>
I3SeededRTConfiguration CreateDefaultSTConfiguration() const¶ Creates the default SeededRT ST configuration object. With this ST configuration any two hits will never be in causal connection.
Protected Attributes
-
boost::shared_ptr<I3Vector<STConfigurationType>> stConfigVecPtr_¶
The list of STConfigurationType objects. Because it should be possible to put the ST configuration into a frame, we need to use a boost::shared_ptr here.
-
const I3OMGeoMap *omGeoMapPtr_¶
The pointer to the I3OMGeoMap object for which the SContextType object is valid. This is needed in order to be able to setup the SContext only once for each geometry frame.
-
SContextType sContext_¶
The object for the spatial context valid for this ST configuration.
Private Functions
- SET_LOGGER ("I3STConfigurationService")
Private Members
-
bool isSTConfigVecFrozen_¶
The flag if the ST configuration (i.e. the stConfigVec_ member variable) is frozen.
-
STConfigurationType defaultSTConfig_¶
The defaultSTConfig_ is a STConfiguationType object that will be returned by the GetSTConfigurationForOMLink method, when a specific OM link is not configured.
-
inline I3STConfigurationService()¶
-
template<class HitType>
class I3STHitInfo¶ - #include <I3STHitInfo.h>
Subclassed by sttools::seededRT::I3SeededRTSTHitInfo< HitType >
Public Functions
-
inline I3STHitInfo(const OMKey omKey, const I3Position *omPosPtr, const HitType *hitPtr, uint32_t hitIdxWithinOMHitSeries)¶
-
inline I3STHitInfo()¶
-
inline I3STHitInfo(const I3STHitInfo &rhs)¶
-
inline const I3Position *GetOMPositionPtr() const¶
- Returns:
A raw pointer to the I3Position object for the hit OM.
-
inline const I3Position &GetOMPosition() const¶
- Returns:
A const reference to the I3Position object for the hit OM.
-
inline void SetOMPositionPtr(const I3Position *ptr)¶
-
inline double GetHitTime() const¶
- Returns:
The time of the hit.
-
inline double GetHitCharge() const¶
- Returns:
The charge of the hit.
-
inline bool IsHLCHit() const¶
- Returns:
true
if the hit has set the LC bit, i.e. it is a HLC hit.
-
inline bool IsSLCHit() const¶
- Returns:
true
if the hit is a SLC hit, i.e. it is not a HLC hit.
-
inline bool IsFirstOMHit() const¶
- Returns:
true
if the hit is the first hit of its OM, i.e. it has the hitIdxWithinOMHitSeries_ member variable set to0
.
Public Static Functions
-
static inline bool compareHitTimeAsc(const I3STHitInfo<HitType> &lhs, const I3STHitInfo<HitType> &rhs)¶
Function to compare two I3STHitInfo objects by ascending hit time.
Protected Attributes
-
const I3Position *omPosPtr_¶
The pointer to the I3Position object for the position of the OM of this hit.
Note
Since we use a raw pointer here (instead of a copy of the I3Position object and only for performance reasons), the object this pointer points to MUST NOT change its location in memory! Usually the I3Position object was retrieved from a hit object stored in a std::vector object. In such cases it means, that the std::vector object MUST NOT change its capacity! Otherwise this pointer becomes invalid.
-
const HitType *hitPtr_¶
The pointer to the hit object itself.
Note
Since we use a raw pointer here (instead of a copy of the hit object and only for performance reasons), the object this pointer points to MUST NOT change its location in memory! Usually the hit object was retrieved from a std::vector object. In such cases it means, that the std::vector object MUST NOT change its capacity! Otherwise this pointer becomes invalid.
-
inline I3STHitInfo(const OMKey omKey, const I3Position *omPosPtr, const HitType *hitPtr, uint32_t hitIdxWithinOMHitSeries)¶
-
template<class STConfigurationServiceType>
class I3STModule : public I3ConditionalModule¶ - #include <I3STModule.h>
Protected Functions
-
void Geometry(I3FramePtr frame)¶
The Geometry frame-stop method calls the SetupSTConfiguration method. So if the user re-implements this method, he needs to make sure that the SetupSTConfiguration method gets called, either by calling the Geometry method of this base module or by calling the SetupSTConfiguration directly.
-
virtual void SetupSContext(I3FramePtr frame) = 0¶
The SetupSContext method is pure virtual and must be implemented by the derived module.
This method should setup the internals of the SContext class module member variable sContext_, e.g. the spatial condition map based on a Geometry frame. This method gets called by the Geometry frame-stop method, whenever a new geometry frame passes by.
-
virtual void RunSTAlgorithm(I3FramePtr frame) = 0¶
The RunSTAlgorithm method is pure virtual and must be implemented by the derived module. This is the actual work-horse method, that is running the particular ST algorithm. This method is registered to the configured frame type (a.k.a. stream).
-
inline void CallRunSTAlgorithm(I3FramePtr frame)¶
Calls the most derived version of the RunSTAlgorithm method and does some book keeping.
-
void Configure_()¶
Internal configure function used by icetray to apply module configuration that is hidden to the user.
We use it here to ensure, that the ST configuration module parameters are defined and their values are retrieved. This way, the derived user ST module does not necessarily need to call the Configure() method of its base class module.
Protected Attributes
-
boost::shared_ptr<STConfigurationServiceType> stConfigService_¶
The shared pointer to the ST configuration object, that provides the ST configuration for this ST icetray module.
-
std::string geometryName_¶
The name of the I3Geometry frame object that should be used for constructing the spatial context.
-
std::string inputHitSeriesMapName_¶
The name of the input hit series map frame object (for example an I3DOMLaunchSeriesMap, an I3RecoPulseSeriesMap, or an I3RecoPulseSeriesMapMask I3FrameObject). What particular type is supported depends on the support of the derived module.
-
std::string outputHitSeriesMapName_¶
The name of the output hit series map frame object (for example an I3DOMLaunchSeriesMap, an I3RecoPulseSeriesMap, or an I3RecoPulseSeriesMapMask I3FrameObject). What particular type is supported depends on the support of the derived module.
-
std::set<I3Frame::Stream> runSTAlgorithmOnStreams_¶
The set of I3Frame type (a.k.a. stream) for which the RunSTAlgorithm method will get executed.
-
sttools::I3RUsageTimer totRUsageSTAlgorithmTimer_¶
The timer for collecting the total resource usage for running the ST algorithm.
Private Functions
- SET_LOGGER ("I3STModule")
-
void Geometry(I3FramePtr frame)¶
-
template<class HitType>
struct isAnyHit¶ - #include <utilities.h>
Function object to determine if a hit is a hit, i.e. returns always
true
.Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isFirstOMHit¶ - #include <utilities.h>
Function object to determine if a hit is the first hit within the OM’s hit series.
Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isHitInSTConnectionToOM¶ - #include <utilities.h>
Function object to determine if a hit is in ST connection to a given OM. This function object can then be used as callback function for the selectHits function.
Public Functions
-
inline isHitInSTConnectionToOM(const I3SeededRTConfigurationService &stConfigService, const OMKey &omKey, const I3Position &omKeyPos, const double omKeyHitTime)¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
Public Members
-
const I3SeededRTConfigurationService &stConfigService_¶
-
const I3Position omKeyPos_¶
-
const double omKeyHitTime_¶
-
inline isHitInSTConnectionToOM(const I3SeededRTConfigurationService &stConfigService, const OMKey &omKey, const I3Position &omKeyPos, const double omKeyHitTime)¶
-
template<class HitType>
struct isHitSeriesMapHit¶ - #include <utilities.h>
Function object to determine if a ST hit is part of a hit series map.
Public Functions
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
Public Members
-
std::vector<I3STHitInfo<HitType>> hitInfoSeries_¶
-
std::vector<I3STHitInfo<HitType>>::const_iterator hitInfoSeriesCIter_¶
-
std::vector<I3STHitInfo<HitType>>::const_iterator hitInfoSeries_begin_¶
-
std::vector<I3STHitInfo<HitType>>::const_iterator hitInfoSeries_end_¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isHLCHit¶ - #include <utilities.h>
Function object to determine if a hit is a HLC hit.
Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isNthOMHit¶ - #include <utilities.h>
Function object to determine if a hit is the N-th hit within the OM’s hit series.
Note
: The first hit has the number (nth parameter)
1
!Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isNthOMKeyHit¶ - #include <utilities.h>
Function object to determine if a hit is the n-th hit of an OM that is present in a given OMKey list.
Note
: The first hit has the number (nth parameter)
1
!Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isOMKeyHit¶ - #include <utilities.h>
Function object to determine if a hit is part of an OM present in a given OMKey list.
Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isSelectedHit¶ - #include <utilities.h>
Function object to determine if a hit is selected.
Public Functions
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isSLCHit¶ - #include <utilities.h>
Function object to determine if a hit is a SLC hit.
Public Functions
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3STHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isUnselectedHit¶ - #include <utilities.h>
Function object to determine if a hit is unselected.
Public Functions
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isUnselectedHLCHit¶ - #include <utilities.h>
Function object to determine if a hit is an unselected HLC hit.
Public Functions
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
template<class HitType>
struct isUnselectedSLCHit¶ - #include <utilities.h>
Function object to determine if a hit is an unselected SLC hit.
Public Functions
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
inline bool operator()(const I3SeededRTSTHitInfo<HitType> &stHitInfo)¶
-
class OMKeyHasher¶
- #include <OMKeyHasher.h>
Public Functions
-
inline OMKeyHasher()¶
-
inline OMKeyHasher(const I3OMGeoMap &omGeoMap)¶
-
inline void init(const std::vector<OMKey> &omKeys)¶
Initializes the OMKeyHasher object based on a given OMKey list.
-
inline int GetMinString() const¶
-
inline int GetMaxString() const¶
-
inline unsigned int GetMinOM() const¶
-
inline unsigned int GetMaxOM() const¶
Protected Functions
Protected Attributes
-
int minString_¶
-
unsigned int minOM_¶
Private Functions
- SET_LOGGER ("OMKeyHasher")
-
inline OMKeyHasher()¶
-
template<class T>
class OMKeyPairMap¶ - #include <OMKeyPairMap.h>
Public Types
Public Functions
-
inline OMKeyPairMap(const I3OMGeoMap &i3OMGeoMap, Symmetry symmetry = AsymAndEqualOMKeysAreAllowed)¶
Constructor, taking an I3OMGeoMap object as input to construct the OMKeyHasher object.
-
inline OMKeyPairMap(const I3VectorOMKey &omKeys, Symmetry symmetry = AsymAndEqualOMKeysAreAllowed)¶
Constructor, taking an I3VectorOMKey object as input to construct the OMKeyHasher object.
-
inline ~OMKeyPairMap()¶
-
inline const OMKeyHasher &GetOMKeyHasher() const¶
-
inline mapped_type &at(const size_t idx)¶
Gets a (const) reference to the mapped_type value for the given map array index.
- Parameters:
idx – The map array index. Must be in the range [0, size_).
- Returns:
The reference to the mapped_type value for the given indexed element.
-
inline const mapped_type &at(const size_t idx) const¶
-
inline mapped_type &at(const OMKey &omKey1, const OMKey &omKey2)¶
Gets a (const) reference to the mapped_type value for the given two OMKey objects forming an OMKey pair.
- Parameters:
omKey1 – The OMKey object of the first DOM.
omKey2 – The OMKey object of the second DOM.
- Returns:
The reference to the mapped_type value for the given OMKeyPair object.
-
inline const mapped_type &at(const OMKey &omKey1, const OMKey &omKey2) const¶
-
inline mapped_type &at(const OMKeyPair &pair)¶
Gets a (constant) reference to the mapped_type value for the given OMKeyPair object.
- Parameters:
pair – The OMKeyPair object.
- Returns:
The reference to the mapped_type value for the given OMKeyPair object.
-
inline const mapped_type &at(const OMKeyPair &pair) const¶
-
inline mapped_type &operator[](const OMKeyPair &pair)¶
Gets a non-constant or constant reference to the mapped_type value for the given OMKeyPair object. This is a shortcut for the
at
method.
-
inline const mapped_type &operator[](const OMKeyPair &pair) const¶
-
inline uint32_t GetSizeOfMapArray() const¶
Returns the size (number of elements) of the internal map array used to implement the map.
-
inline size_t GetMemSizeOfMapArray() const¶
Returns the memory size in bytes of the internal map array used to implement the map.
Protected Functions
-
inline void init()¶
Initializes this OMKeyPairMap based on the OMKeyHasher and Symmetry objects.
-
uint32_t GetIndex_AsymAndEqualOMKeysAreAllowed(const OMKey &omKey1, const OMKey &omKey2) const¶
Gets the map array index for the given OMKeyPair object for an asymmetric OMKey pair map where OMKey pairs with the same OMKeys are allowed.
- Parameters:
omKey1 – The OMKey object of the first DOM.
omKey2 – The OMKey object of the second DOM.
- Returns:
The map index for the given OMKeyPair object.
-
uint32_t GetIndex_SymAndEqualOMKeysAreAllowed(const OMKey &omKey1, const OMKey &omKey2) const¶
Gets the map array index for the given OMKeyPair object for a symmetric OMKey pair map where OMKey pairs with the same OMKeys are allowed.
- Parameters:
omKey1 – The OMKey object of the first DOM.
omKey2 – The OMKey object of the second DOM.
- Returns:
The map index for the given OMKeyPair object.
-
uint32_t GetIndex_SymAndEqualOMKeysAreForbidden(const OMKey &omKey1, const OMKey &omKey2) const¶
Gets the map array index for the given OMKeyPair object for a symmetric OMKey pair map where OMKey pairs with the same OMKeys are forbidden.
- Parameters:
omKey1 – The OMKey object of the first DOM.
omKey2 – The OMKey object of the second DOM.
- Returns:
The map index for the given OMKeyPair object.
Protected Attributes
-
OMKeyHasher omKeyHasher_¶
The OMKey hasher object for the particular I3OMGeoMap.
-
uint32_t (OMKeyPairMap::* GetIndex)(const OMKey &omKey1, const OMKey &omKey2) const¶
The member function pointer that points to the appropriate GetIndex_… method depending on the symmetry of this OMKey pair map.
Private Functions
- SET_LOGGER ("OMKeyPairMap")
-
inline OMKeyPairMap(const I3OMGeoMap &i3OMGeoMap, Symmetry symmetry = AsymAndEqualOMKeysAreAllowed)¶
-
template<class HitType>
struct seedWithAllCoreHits¶ - #include <utilities.h>
Function object to seed with all hits that have at least nHitsThreshold partner ST hits.
Note
If the allowNoSeedHits option is set to
false
and no hits fulfill the requirements above, all hits will be used as seed hits!Public Functions
-
inline seedWithAllCoreHits(const I3SeededRTConfigurationService &stConfigService, uint32_t nHitsThreshold, bool allowNoSeedHits)¶
-
inline seedWithAllCoreHits(const I3SeededRTConfigurationService &stConfigService, uint32_t nHitsThreshold, bool allowNoSeedHits)¶
-
template<class HitType>
struct seedWithAllHLCHits¶ - #include <utilities.h>
Function object to seed with all hits, which are HLC hits.
-
template<class HitType>
struct seedWithHitSeriesMapHitsFromFrame¶ - #include <utilities.h>
Function object to seed with all hits which are contained inside an I3Map< OMKey, std::vector< HitType > > object named
seedHitSeriesMapName
present in the current processed frame.Note
It must be made sure, that the hit series map exists inside the frame! Otherwise it will raise a runtime error exception.
Public Functions
-
template<class HitType>
struct seedWithHLCCOGSTHits¶ - #include <utilities.h>
Function object to seed with hits which fulfill the ST conditions around the Center-of-Gravity (COG) of all HLC hits.
Note
If the allowNoSeedHits option is set to
false
and no hits fulfill the requirements above, all HLC hits will be used as seed hits!Public Functions
-
inline seedWithHLCCOGSTHits(const I3SeededRTConfigurationService &stConfigService, bool allowNoSeedHits)¶
-
inline seedWithHLCCOGSTHits(const I3SeededRTConfigurationService &stConfigService, bool allowNoSeedHits)¶
-
template<class HitType>
struct seedWithHLCCoreHits¶ - #include <utilities.h>
Function object to seed with all HLC hits that have at least nHitsThreshold partner ST HLC hits.
Note
If the allowNoSeedHits option is set to
false
and no HLC hits fulfill the requirements above, all HLC hits will be used as seed hits!Public Functions
-
inline seedWithHLCCoreHits(const I3SeededRTConfigurationService &stConfigService, uint32_t nHitsThreshold, bool allowNoSeedHits)¶
-
inline seedWithHLCCoreHits(const I3SeededRTConfigurationService &stConfigService, uint32_t nHitsThreshold, bool allowNoSeedHits)¶
-
template<class HitType>
struct seedWithNthOMKeyHits¶ - #include <utilities.h>
Function object to seed with all hits which belong to the OMs present in the given std::vector< OMKey > object and which are the N-th hits within the OM’s hit series.
Public Functions
-
template<class HitType>
struct seedWithOMKeyHits¶ - #include <utilities.h>
Function object to seed with all hits which belong to the OMs present in the given std::vector< OMKey > object.
Public Functions
-
namespace std
STL namespace.
-
namespace sttools¶
Functions
-
template<>
double getHitCharge<I3DOMLaunch>(const I3DOMLaunch &hit)¶
-
template<>
double getHitCharge<I3RecoPulse>(const I3RecoPulse &hit)¶
-
template<>
bool getHitLCBit<I3DOMLaunch>(const I3DOMLaunch &hit)¶
-
template<>
bool getHitLCBit<I3RecoPulse>(const I3RecoPulse &hit)¶
-
template<>
double getHitTime<I3DOMLaunch>(const I3DOMLaunch &hit)¶
-
template<>
double getHitTime<I3RecoPulse>(const I3RecoPulse &hit)¶
-
std::string convertI3RUsageToString(const I3RUsage &rusage)¶
Converts an I3RUsage object into a std::string.
-
template<>
bool isOutputFrameObjectEmpty(const I3RecoPulseSeriesMapMask &output)¶
-
template<>
I3RecoPulseSeriesMapMaskPtr createOutputFrameObject(const I3Frame &frame, const string &inputHitSeriesMapName)¶
-
template<>
void addHitToOutputFrameObject(I3RecoPulseSeriesMapMask &output, const OMKey &omkey, const I3RecoPulse &hit)¶
-
OMKey getOMKeyClosestToPosition(I3OMGeoMap const &omgeomap, I3Position const &pos)¶
-
template<class HitType>
double getHitCharge(const HitType &hit)¶ Function to get the charge of a hit type object.
-
template<class HitType>
bool getHitLCBit(const HitType &hit)¶ Function to get the Local Coincidence bit from a hit type object.
-
template<class HitType>
double getHitTime(const HitType &hit)¶ Function to get the time from a hit type object.
-
I3_POINTER_TYPEDEFS(OMKeyHasher)¶
Creates a new empty shared std::vector< STHitInfoType< HitType > > object for storing ST hit information about hits of type HitType.
- Returns:
A BOOST shared pointer to the newly created ST hit information series.
-
template<class HitType, template<class HitType_> class STHitInfoType>
I3FourVector calcHitsCOGFourPosition(const std::vector<STHitInfoType<HitType>> &stHitInfoSeries, boost::function<bool(const STHitInfoType<HitType> &rtHitInfo)> hitSelectFctn = isAnyHit<HitType>())¶ Calculates the Center-of-Gravity of the given hits for which the given hit select function returns
true
.
Gets a shared pointer to the given named constant hit series map inside the given I3Frame object.
- Throws:
RuntimeException – If the given hit series map does not exists in the frame, or could not be loaded.
Function to create an output I3FrameObject of type OutType. The created output frame object will be empty.
- Returns:
A BOOST shared pointer pointing to the created frame object.
-
template<class OutType>
bool isOutputFrameObjectEmpty(const OutType &output)¶ Function to check if an output frame object is empty.
- Parameters:
output – The output frame object.
- Returns:
The boolean value
true
if the output frame object is empty,false
otherwise.
-
template<>
bool isOutputFrameObjectEmpty<I3RecoPulseSeriesMapMask>(const I3RecoPulseSeriesMapMask &output)¶
-
template<>
-
namespace seededRT¶
Typedefs
-
typedef OMKeyPairMap<I3SeededRTSData> I3SeededRTSDataMap¶
Functions
-
I3_POINTER_TYPEDEFS(I3SeededRTConfigurationService)¶
-
I3_POINTER_TYPEDEFS(I3SeededRTSContext)¶
-
I3_POINTER_TYPEDEFS(I3SeededRTSDataMap)¶
-
template<class HitType>
void fillSeededRTSTHitInfoSeries(const I3SeededRTConfigurationService &stConfigService, const I3Map<OMKey, std::vector<HitType>> &inputHitSeriesMap, std::vector<I3SeededRTSTHitInfo<HitType>> &stHitInfoSeries)¶ Fills a given seededRT ST hit info series with all hits from a given hit series map, based on a given ST configuration defined via the given I3VectorSTConfiguration object.
-
template<class HitType>
uint32_t countSelectedSTHits(std::vector<I3SeededRTSTHitInfo<HitType>> const &stHitInfoSeries)¶ Counts the number of selected ST hits inside a given ST hit info series.
-
template<class HitType>
uint32_t selectHits(std::vector<I3SeededRTSTHitInfo<HitType>> &stHitInfoSeries, boost::function<bool(const I3SeededRTSTHitInfo<HitType>&)> hitSelectFctn)¶ Selects hits for which the specified hit select function returns
true
.- Parameters:
stHitInfoSeries – The std::vector< I3SeededRTSTHitInfo< HitType > >
hitSelectFctn – The address of the hit select function that checks if the hit given by I3SeededRTSTHitInfo< HitType > object should get selected as seed (returns
true
) or not (returnsfalse
).
- Returns:
The number of selected seed hits.
-
inline bool areTimesInTemporalCausalConnection(const double time1, const double time2, const double rtTime, const double dustlayerCorrectionLength = 0)¶
Checks if the two given times are in temporal causal connection to each other by using the given RT time and dustlayer correction length.
Note
For performance reasons, we define this function as an inline function.
- Returns:
true
if the two times are temporally close enough, andfalse
otherwise.
-
template<class HitType>
uint32_t deselectRTHitsBelowRTPartnerHitsThreshold(const I3SeededRTConfigurationService &stConfigService, std::vector<I3SeededRTSTHitInfo<HitType>> &stHitInfoSeries, uint32_t threshold)¶ Determines the selected RT hits of each selected RT hit and deselects those selected RT hits which have less RT hits than the given threshold.
Note
The given ST hit info series must be ascended time ordered in hit time!
- Returns:
The number of total selected hits.
-
template<class HitType>
uint32_t doSelectRTHitsIteration(const I3SeededRTConfigurationService &stConfigService, std::vector<I3SeededRTSTHitInfo<HitType>> &stHitInfoSeries)¶ Selects new hits which fulfill the seededRT conditions for already selected hits. In order to select all hits, that fulfill the seededRT conditions, this function has to be called several times, until it does not select more hits.
Note
The given ST hit info series must be ascended time ordered in hit time!
- Returns:
The number of total (old+new) selected hits.
-
template<class HitType>
uint32_t doIterativeSelectRTHitsProcedure(const I3SeededRTConfigurationService &stConfigService, std::vector<I3SeededRTSTHitInfo<HitType>> &stHitInfoSeries, int32_t maxNIterations = -1)¶ Does the iterative seededRT procedure of adding RT hits to the selections of already selected hits. This function makes use of the
doSelectRTHitsIteration
function.
Function to create an output frame object of type OutType, and filling it with all selected hits from a given I3SeededRTSTHitInfo series.
-
inline bool arePositionsInSpatialCausalConnection(const I3SeededRTConfigurationService &stConfigService, const I3SeededRTConfiguration &stConfig, const I3Position &srcPos, const I3Position &dstPos, double *dustlayerCorrectionLengthPtr)¶
Checks if the two given positions are in spatial causal connection to each other by using the given ST configuration service and the given ST configuration object.
This method needs to calculate the dustlayer correction length for the distance between the given positions. The value of the calculated dustlayer correction length can be gathered by specifying a pointer to a double value, which will be set if the pointer is non-zero and if the two positions are in spatial range.
Note
For performance reasons, we define this function as an inline function.
- Returns:
true
if the two position are spatially close enough, andfalse
otherwise. Iffalse
is returned, the double value of the dustlayer correction length is not set!
Utility function to do a seededRT cleaning on a given hit series map stored inside a given I3Frame object.
-
typedef OMKeyPairMap<I3SeededRTSData> I3SeededRTSDataMap¶
- file hit_info_getters.cxx
- #include “dataclasses/physics/I3DOMLaunch.h”#include “dataclasses/physics/I3RecoPulse.h”#include “dataclasses/I3MapOMKeyMask.h”#include “STTools/hit_info_getters.h”
This file contains the implementation of the utility functions to get information about hits within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file hit_info_getters.h
This file contains the definitions of utility functions to get information about hits within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3FourVector.cxx
- #include “STTools/I3FourVector.h”
This file contains the implementation of the I3FourVector class within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Functions
-
std::ostream &operator<<(std::ostream &os, const sttools::I3FourVector &rhs)¶
- file I3FourVector.h
- #include <stdint.h>#include <cmath>#include <ostream>#include <string>#include “icetray/I3Logging.h”#include “dataclasses/I3Position.h”#include “STTools/cpp/streamToString.hpp”
This file contains the definition of the I3FourVector class inside the sttools namespace. The I3FourVector class is used to store four components (in case of a four-position, a time and a 3-position).
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Functions
-
std::ostream &operator<<(std::ostream &os, const sttools::I3FourVector &rhs)
- file I3PySContext.h
- #include <boost/python.hpp>#include <boost/python/def_visitor.hpp>
This file contains the definition of the I3PySContext_interface template. It is a boost::python visitor, that helps to expose I3SContext C++ classes of particular ST algorithms to Python.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3PySeededRTConfigurationService.h
- #include <boost/python.hpp>#include “icetray/I3Logging.h”#include “STTools/I3PySTConfigurationService.h”
This file contains the definition of the I3PySeededRTConfigurationService class. It is a boost::python wrapper class derived from the I3PySTConfigurationService template, that helps to expose the I3SeededRTConfigurationService C++ class to Python.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3PySeededRTSContext.h
- #include “STTools/I3PySContext.h”
This file contains the definition of the I3PySeededRTSContext_interface class. It is a boost::python visitor class derived from the I3PySContext_interface template, that helps to expose the I3SeededRTSContext C++ class to Python.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3PySTConfigurationService.h
- #include <vector>#include <boost/python.hpp>#include <boost/python/def_visitor.hpp>#include “icetray/OMKey.h”#include “icetray/I3Logging.h”#include “dataclasses/geometry/I3OMGeo.h”
This file contains the definition of the I3PySTConfigurationService template. It is a boost::python wrapper template, that helps to expose I3STConfigurationService C++ classes of particular ST algorithms to Python.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Defines
-
I3PySTConfigurationService_IMPLEMENTATION(STConfigurationType, STConfigurationServiceType)¶
- file I3RTVetoModule.cxx
- #include <algorithm>#include <vector>#include “icetray/OMKey.h”#include “icetray/I3Frame.h”#include “icetray/I3PointerTypedefs.h”#include “dataclasses/I3Map.h”#include “dataclasses/I3MapOMKeyMask.h”#include “dataclasses/physics/I3DOMLaunch.h”#include “dataclasses/physics/I3RecoPulse.h”#include “STTools/I3STModule.h”#include “STTools/algorithms/seededRT/utilities.h”
This file contains the definition and implementation of the RTVeto I3Module (or better I3STModule).
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Typedefs
-
typedef I3RTVetoModule<I3RecoPulse, I3RecoPulseSeriesMap> I3RTVeto_RecoPulse_Module¶
-
typedef I3RTVetoModule<I3RecoPulse, I3RecoPulseSeriesMapMask> I3RTVeto_RecoPulseMask_Module¶
-
typedef I3RTVetoModule<I3DOMLaunch, I3DOMLaunchSeriesMap> I3RTVeto_DOMLaunch_Module¶
Functions
-
I3_MODULE(I3RTVeto_RecoPulse_Module)¶
-
I3_MODULE(I3RTVeto_RecoPulseMask_Module)¶
-
I3_MODULE(I3RTVeto_DOMLaunch_Module)¶
- file I3RUsageTimer.cxx
- #include “STTools/I3RUsageTimer.h”
This file contains the implementation of the I3RUsageTimer class within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3RUsageTimer.h
- #include <sys/time.h>#include <sys/resource.h>#include <boost/make_shared.hpp>#include “icetray/I3Logging.h”#include “icetray/I3Units.h”#include “icetray/I3PhysicsTimer.h”
This file contains the definition of the I3RUsageTimer class within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SContext.h
- #include <iostream>#include <boost/shared_ptr.hpp>#include <boost/make_shared.hpp>#include <dataclasses/geometry/I3OMGeo.h>#include <STTools/OMKeyPairMap.h>
This file contains the definition of the I3SContext class inside the sttools namespace. The I3SContext class is used to store internal API state variables like a spatial data map.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SeededRTCleaningModule.cxx
- #include <string>#include “icetray/I3PointerTypedefs.h”#include “dataclasses/I3Map.h”#include “dataclasses/I3MapOMKeyMask.h”#include “dataclasses/physics/I3DOMLaunch.h”#include “dataclasses/physics/I3RecoPulse.h”#include “STTools/I3FourVector.h”#include “STTools/I3STModule.h”#include “STTools/utilities.h”#include “STTools/algorithms/seededRT/utilities.h”
This file contains the definition and implementation of the SeededRTCleaning I3Module (or better spoken I3STModule).
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Typedefs
-
typedef I3SeededRTCleaningModule<I3RecoPulse, I3RecoPulseSeriesMap> I3SeededRTCleaning_RecoPulse_Module¶
-
typedef I3SeededRTCleaningModule<I3RecoPulse, I3RecoPulseSeriesMapMask> I3SeededRTCleaning_RecoPulseMask_Module¶
-
typedef I3SeededRTCleaningModule<I3DOMLaunch, I3DOMLaunchSeriesMap> I3SeededRTCleaning_DOMLaunch_Module¶
Functions
-
I3_MODULE(I3SeededRTCleaning_RecoPulse_Module)¶
-
I3_MODULE(I3SeededRTCleaning_RecoPulseMask_Module)¶
-
I3_MODULE(I3SeededRTCleaning_DOMLaunch_Module)¶
- file I3SeededRTConfiguration.cxx
- #include <sstream>#include “icetray/serialization.h”#include “STTools/utilities.h”
This file contains the implementation of the I3SeededRTConfiguration class.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Functions
-
I3_SERIALIZABLE(I3SeededRTConfiguration)¶
-
I3_SERIALIZABLE(I3VectorSeededRTConfiguration)¶
-
std::ostream &operator<<(std::ostream &os, const I3SeededRTConfiguration &rhs)¶
- file I3SeededRTConfiguration.h
- #include <ostream>#include “icetray/I3PointerTypedefs.h”#include “icetray/I3Units.h”#include “dataclasses/I3Constants.h”#include “dataclasses/I3Vector.h”#include “recclasses/I3STConfiguration.h”#include “recclasses/OMKeyLinkSet.h”
This file contains the definition of the I3SeededRTConfiguration class.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Typedefs
-
typedef I3Vector<I3SeededRTConfiguration> I3VectorSeededRTConfiguration¶
Functions
-
std::ostream &operator<<(std::ostream &os, const I3SeededRTConfiguration &rhs)
-
I3_POINTER_TYPEDEFS(I3SeededRTConfiguration)¶
-
I3_CLASS_VERSION(I3SeededRTConfiguration, i3seededrtconfiguration_version_)¶
-
I3_POINTER_TYPEDEFS(I3VectorSeededRTConfiguration)¶
Variables
-
static const unsigned i3seededrtconfiguration_version_ = 0¶
- file I3SeededRTConfigurationService.cxx
- #include <algorithm>#include <cmath>#include <boost/foreach.hpp>#include “icetray/I3ServiceBase.h”#include “icetray/I3SingleServiceFactory.h”#include “icetray/I3Units.h”#include “dataclasses/I3Constants.h”#include “STTools/I3RUsageTimer.h”#include “STTools/utilities.h”#include “STTools/algorithms/seededRT/utilities.h”
This file contains the implementation of the I3SeededRTConfigurationService class within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Typedefs
-
using I3BasicSeededRTConfigurationServiceFactory = I3SingleServiceFactory<sttools::seededRT::I3BasicSeededRTConfigurationService, sttools::seededRT::I3SeededRTConfigurationService>¶
Functions
-
I3_SERVICE_FACTORY(I3BasicSeededRTConfigurationServiceFactory)¶
- file I3SeededRTConfigurationService.h
- #include <cmath>#include “icetray/I3Logging.h”#include “STTools/I3STConfigurationService.h”
This file contains the definition of the I3SeededRTConfigurationService class within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SeededRTSContext.h
- #include “icetray/I3PointerTypedefs.h”#include “STTools/OMKeyPairMap.h”#include “STTools/I3SContext.h”
This file contains the definition of the I3SeededRTSContext class, a specialization of the I3SContext template for the seededRT algorithm within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SeededRTSData.h
-
This file contains the definition of the I3SeededRTSData data structure within the sttools::seededRT namespace, which is used by the seededRT algorithm to store spatial map data.
Copyright (C) 2013 - 2014 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SeededRTSDataMap.h
- #include “icetray/I3PointerTypedefs.h”#include “STTools/OMKeyPairMap.h”
This file contains the definition of the I3SeededRTSDataMap class within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3SeededRTSTHitInfo.h
- #include <stdint.h>#include <set>#include <vector>#include <boost/make_shared.hpp>#include “icetray/OMKey.h”#include “dataclasses/I3Vector.h”#include “STTools/OMKeyHasher.h”#include “STTools/I3STHitInfo.h”
This file contains the definition of the I3SeededRTSTHitInfo template within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se Olaf Schulz and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3STConfigurationService.h
- #include <algorithm>#include <set>#include <vector>#include <boost/foreach.hpp>#include <boost/utility.hpp>#include “icetray/I3Logging.h”#include “icetray/OMKey.h”#include “dataclasses/I3Vector.h”#include “dataclasses/geometry/I3OMGeo.h”#include “STTools/OMKeyHasher.h”#include “STTools/OMKeyPairMap.h”#include “recclasses/OMKeyLink.h”#include “recclasses/I3STConfiguration.h”
This file contains the definition of the I3STConfigurationService template. The I3STConfigurationService template is a base class for all ST algorithm configuration services.
Copyright (C) 2013 - 2014 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
It also holds an object of SContextType for the spatial context valid for this ST configuration service. This spatial context is considered as constant as long as the ST configuration does not change, i.e. the ST configuration is frozen.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
- Version
$Id$
- Date
$Date$ It holds an boost::shared_ptr< I3Vector<STConfigurationType> > member variable named
stConfigVecPtr_
. This is a list of ST configuration objects of type STConfigurationType. This type must be a class specific for a particular ST algorithm, and must be derived from the I3STConfiguration base class.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3STHitInfo.h
- #include “STTools/hit_info_getters.h”
This file contains the definition of the I3STHitInfo template class within the sttools namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se Olaf Schulz and the IceCube Collaboration http://www.icecube.wisc.edu
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- Version
$Id$
- Date
$Date$ This class should be used as base class for all STHitInfo classes used by ST algorithms.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file I3STModule.h
- #include <set>#include <string>#include <vector>#include <boost/foreach.hpp>#include <boost/python.hpp>#include “icetray/I3DefaultName.h”#include “icetray/I3Frame.h”#include “icetray/I3ConditionalModule.h”#include “STTools/I3RUsageTimer.h”#include “STTools/utilities.h”
This file contains the definition of the I3STModule icetray module.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
This base module is derived from the I3ConditionalModule, so conditional execution of the module is possible.
- Version
$Id$
- Date
$Date$ This icetray module should be used as a base class module for a particular icetray module, that implements ST algorithms.
It also provides pre-defined ST configuration parameters and a method to do the ST configuration setup procedure.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file OMKeyHasher.h
- #include <stdint.h>#include <limits>#include <vector>#include <boost/foreach.hpp>#include “icetray/I3Logging.h”#include “icetray/OMKey.h”#include “icetray/I3PointerTypedefs.h”#include “dataclasses/geometry/I3Geometry.h”
This file contains the definition of the OMKeyHasher class within the sttools namespace.
Copyright (C) 2011 - 2013 Martin Wolf martin.wolf@fysik.su.se Robert Franke and the IceCube Collaboration http://www.icecube.wisc.edu
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- Version
$Id$
- Date
$Date$ This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file OMKeyPairMap.h
- #include “dataclasses/I3Vector.h”#include “dataclasses/geometry/I3OMGeo.h”#include “STTools/OMKeyHasher.h”#include “recclasses/OMKeyPair.h”
This file contains the definition of the OMKeyPairMap template class within the sttools namespace.
Copyright (C) 2011 - 2013 Martin Wolf martin.wolf@fysik.su.se Robert Franke Keven J. Meagher and the IceCube Collaboration http://www.icecube.wisc.edu
Since it is implemented as a contiguous C-style array, reading its content is extemly fast, what is required when a map is created only once (based on an I3OMGeoMap from a Geometry frame) and then read several times by each event, as it is usually the case for ST algorithms.
- Version
$Id$
- Date
$Date$ An OMKeyPairMap is an array that represents an OMKeyPair to <something> map. It can be used for example to signify if an OMKey pair fulfills some condition (for example a spatial condition).
The OMKey pair map has a symmetry property, that defines the symmetry between the two OMKeys of an OMKeyPair object. If the relationship between the two OMKeys is symmetric, the required memory to store the map is only approx. half of the required memory to store a map for an asymmetric relationship. However, the default setting for the symmetry of the OMKeyPairMap object is an asymmetric map.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file streamToString.hpp
- #include <string>#include <sstream>
This file contains the definition of the streamToString template function that converts a given class instance into a std::string by using the operator<< function.
Copyright (C) 2013 - 2014 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
Basically, this means, that one should include this header file at the very last.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
- Version
$Id$
- Date
$Date$ Note: The operator<< function for the particular class of the form std::ostream& operator<<(std::ostream& os, const T& rhs); must be defined BEFORE this header is included by the first time! Otherwise the clang compiler will fail with an error not finding this function.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file algorithms/seededRT/utilities.cxx
- #include “STTools/algorithms/seededRT/utilities.h”
This file contains the implementation of the utility functions of the seededRT algorithms within the sttools::seededRT namespace.
Copyright (C) 2013 - 2014 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file utilities.cxx
- #include <string>#include <sstream>#include <boost/make_shared.hpp>#include “icetray/I3Logging.h”#include “icetray/I3Frame.h”#include “icetray/I3Units.h”#include “STTools/utilities.h”
This file contains the implementation of utility functions within the sttools namespace useful for user defined ST algorithms.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file algorithms/seededRT/utilities.h
- #include <algorithm>#include <cmath>#include <stdint.h>#include <vector>#include <boost/implicit_cast.hpp>#include <boost/function.hpp>#include “icetray/OMKey.h”#include “icetray/I3PointerTypedefs.h”#include “icetray/I3Logging.h”#include “dataclasses/ostream_overloads.hpp”#include “dataclasses/I3Constants.h”#include “dataclasses/I3Map.h”#include “dataclasses/I3Vector.h”#include “dataclasses/geometry/I3OMGeo.h”#include “STTools/I3FourVector.h”#include “STTools/utilities.h”#include “STTools/cpp/streamToString.hpp”
This file contains the definitions of the utility functions for the seededRT algorithm within the sttools::seededRT namespace.
Copyright (C) 2013 Martin Wolf martin.wolf@icecube.wisc.edu and the IceCube Collaboration http://www.icecube.wisc.edu
$Date$
- Version
$Id$
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
- file utilities.h
- #include <sstream>#include <string>#include <vector>#include <boost/shared_ptr.hpp>#include <boost/make_shared.hpp>#include “icetray/OMKey.h”#include “icetray/I3Frame.h”#include “icetray/I3PhysicsTimer.h”#include “dataclasses/I3Map.h”#include “dataclasses/I3MapOMKeyMask.h”#include “dataclasses/geometry/I3OMGeo.h”#include “STTools/OMKeyPairMap.h”#include “STTools/I3FourVector.h”#include “STTools/I3STHitInfo.h”
This file contains the definitions of the utility functions within the sttools namespace useful for ST user defined algorithms.
Copyright (C) 2013 Martin Wolf martin.wolf@fysik.su.se and the IceCube Collaboration http://www.icecube.wisc.edu
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- Version
$Id$
- Date
$Date$ The functions are C++ templated via the template parameters
HitType
andOutType
, so they can be used both with I3DOMLaunchSeriesMaps and I3RecoPulseSeriesMaps as input data.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
Note
This file should not be included directly into the user’s application. Instead, the user should include the api.h header file.
This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
- dir algorithms
- dir algorithms
- dir cpp
- dir icetray
- dir modules
- dir private
- dir public
- dir seededRT
- dir seededRT
- dir STTools
- dir STTools
- dir STTools