icetray C++ API Reference¶
-
class AddNulls : public I3Module, public I3ConditionalModule¶
- #include <AddNulls.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Physics(I3FramePtr frame)¶
Called when the frame was generated by a new Physics record.
-
AddNulls(const I3Context &context)
-
virtual void Configure()
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
struct AllParametersModule : public I3Module¶
Public Functions
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
-
inline virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
inline virtual void Configure()¶
-
struct anyx¶
- #include <has_operator.h>
-
struct archive_filter¶
- #include <archive_filter.hpp>
Public Functions
-
struct blob_t¶
This is the type of the map with which the I3Frame is implemented. It maps strings to shared-pointers-to-I3FrameObjects.
Public Functions
-
inline void reset()¶
-
inline void reset()¶
-
struct BottomlessSource : public I3Module¶
$Id$
Copyright (C) 2004-8 The IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
-
struct category : public source_tag, public closable_tag¶
- #include <http_source.hpp>
-
struct category : public output_filter_tag, public multichar_tag, public closable_tag¶
- #include <zstd_filter.hpp>
-
struct client_data¶
- #include <archive_filter.hpp>
-
class const_iterator : public deserialize_iterator¶
- #include <I3Frame.h>
Public Functions
-
inline const_iterator()¶
-
inline const_iterator &operator=(const const_iterator &rhs)¶
-
inline const_iterator()¶
-
template<typename ServiceType>
class context_suite : public boost::python::def_visitor<context_suite<ServiceType>>¶ - #include <context_suite.hpp>
Private Types
-
typedef boost::shared_ptr<ServiceType> ServicePtr¶
Private Static Functions
-
static inline ServicePtr GetFromContext(const I3Context &ctx, const std::string &name)¶
-
static inline bool PutInContext(ServicePtr self, I3Context &ctx, const std::string &name)¶
-
typedef boost::shared_ptr<ServiceType> ServicePtr¶
-
struct ContextFreeServiceTestModule : public I3Module¶
Public Functions
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
-
inline virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
inline virtual void Configure()¶
-
class Copy : public I3ConditionalModule¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause Copyies things from frame. Has special privileges granted by I3Frame.
Public Functions
-
inline virtual ~Copy()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
- SET_LOGGER ("Copy")
-
class CountFrames : public I3ConditionalModule¶
An icetray module which will check whether a configurable set of frame elements is (or is not) present on each stream.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual ~CountFrames()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
class CountObject : public I3Module¶
- #include <CountObject.h>
An icetray module which will count the number of frame objects at some location and verify against some expected number passed as an argument.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual ~CountObject()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Physics(I3FramePtr)¶
Called when the frame was generated by a new Physics record.
-
virtual void Calibration(I3FramePtr)¶
Called when the frame was generated by a new Calibration record.
-
virtual void DetectorStatus(I3FramePtr)¶
Called when the frame was generated by a new DetectorStatus record
-
virtual void Geometry(I3FramePtr)¶
Called when the frame was generated by a new Geometry record.
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
class CreateBlobs : public I3ConditionalModule¶
$Id$
Copyright (C) 2016 Claudio Kopper ckopper@icecube.wisc.edu Copyright (C) 2016 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
inline virtual ~CreateBlobs()¶
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
Private Members
-
bool dropMemoryData_¶
-
class Delete : public I3ConditionalModule¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause Deletes things from frame. Has special privileges granted by I3Frame.
Public Functions
-
inline virtual ~Delete()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
- SET_LOGGER ("Delete")
-
class deserialize_transform¶
- #include <I3Frame.h>
Public Functions
-
inline deserialize_transform()¶
-
inline result_type operator()(map_t::const_reference pr) const¶
-
inline deserialize_transform()¶
-
class Dump : public I3ConditionalModule¶
-
template<class T>
struct extended_type_info_impl¶ - #include <i3_extended_type_info.h>
Public Types
-
typedef ::i3_extended_type_info<T> type¶
-
typedef ::i3_extended_type_info<T> type¶
-
class Fork : public I3Module¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
class FrameCheck : public I3Module¶
- #include <FrameCheck.h>
An icetray module which will check whether a configurable set of frame elements is (or is not) present on each stream.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual ~FrameCheck()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void DAQ(I3FramePtr frame)¶
Called when the frame was generated by a new DAQ record.
-
virtual void Physics(I3FramePtr frame)¶
Called when the frame was generated by a new Physics record.
-
virtual void DetectorStatus(I3FramePtr frame)¶
Called when the frame was generated by a new DetectorStatus record
-
virtual void Calibration(I3FramePtr frame)¶
Called when the frame was generated by a new Calibration record.
-
virtual void Geometry(I3FramePtr frame)¶
Called when the frame was generated by a new Geometry record.
Private Types
-
typedef std::map<I3Frame::Stream, predicates> streammap_t¶
Private Members
-
streammap_t keys_¶
-
class FunctionModule : public I3ConditionalModule¶
- #include <FunctionModule.h>
A wrapper class which turns a callable object into an I3Module. The wrapped callable may return nothing or a boolean, and in the latter case the processed frame is dropped if the result is false.
Public Functions
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
virtual void Configure()¶
-
class Get : public I3Module¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
Private Functions
-
void impl(I3FramePtr frame)¶
-
struct hashed_str_t¶
Public Functions
-
inline bool operator==(const hashed_str_t &b) const¶
-
inline hashed_str_t &operator=(const hashed_str_t &b)¶
-
inline bool operator==(const hashed_str_t &b) const¶
-
struct hashed_str_t_hash¶
Public Functions
-
inline size_t operator()(const hashed_str_t &h) const¶
-
inline size_t operator()(const hashed_str_t &h) const¶
-
struct http_source¶
- #include <http_source.hpp>
Public Types
-
typedef char char_type¶
Public Functions
-
inline void close()¶
-
typedef char char_type¶
-
template<class T>
struct i3_export_key_setter¶ - #include <i3_extended_type_info.h>
Public Functions
-
inline i3_export_key_setter(const char *name)¶
Public Members
-
const char *guid¶
-
inline i3_export_key_setter(const char *name)¶
-
template<class T>
class i3_extended_type_info : public extended_type_info_typeid_0, public icecube::serialization::singleton<i3_extended_type_info<T>>¶ - #include <i3_extended_type_info.h>
Public Functions
-
inline i3_extended_type_info()¶
-
inline ~i3_extended_type_info()¶
-
inline virtual void *construct(unsigned int count, ...) const¶
-
inline virtual void destroy(void const *const p) const¶
Private Functions
-
inline void set_key(const char *guid)¶
Friends
- friend struct i3_export_key_setter< T >
-
inline i3_extended_type_info()¶
-
class I3ConditionalModule : public I3Module¶
- #include <I3ConditionalModule.h>
This class is meant to be a wedge between an I3Module and any module that wants to take advantage of conditional execution functionality. That functionality resides here because the very general I3Module class doesn’t want to get too specialized.
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 Phil Roth proth@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Subclassed by AddNulls, Copy, CountFrames, CreateBlobs, Delete, Dump, FunctionModule, Keep, PythonFunction, Rename
Public Functions
-
I3ConditionalModule(const I3Context &context)¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 Phil Roth proth@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
~I3ConditionalModule()¶
-
virtual bool ShouldDoProcess(I3FramePtr frame)¶
The function where frames are sent to IcePicks installed in the context in order to determine whether the module should run.
-
inline bool ShouldProcess(I3FramePtr frame)¶
- SET_LOGGER ("I3ConditionalModule")
Protected Functions
-
inline unsigned GetTimesExecuted()¶
Simple method that allows derived modules to access information about how many times their Physics() function has been executed.
-
inline unsigned GetTimesSkipped()¶
Simple method that allows derived modules to access information about how many times their Physics() function has been skipped due to conditional execution.
-
virtual void Configure_()¶
-
class I3Configuration¶
- #include <I3Configuration.h>
Public Functions
-
virtual ~I3Configuration()¶
-
I3Configuration()¶
-
I3Configuration(const I3Configuration&)¶
-
I3Configuration &operator=(const I3Configuration&)¶
-
void Add(const std::string &name, const std::string &description, const boost::python::object &default_value)¶
-
template<typename T>
inline void Add(const std::string &name, const std::string &description, const T &default_value)¶
This allows NoneType on the python side to translate to a Null pointer on the C++ side
-
bool is_ok() const¶
-
std::string inspect() const¶
prints in xml format for consumption by xsltproc. You can’t just use the icecube::serialization xml since this isn’t well formed due to <px class_id=”9” class_name=”typeholder<bool>” …
-
void merge(const I3Configuration &rhs)¶
Private Members
-
boost::scoped_ptr<I3ConfigurationImpl> impl_¶
Friends
- friend class icecube::serialization::access
-
friend std::ostream &operator<<(std::ostream&, const I3Configuration&)¶
-
virtual ~I3Configuration()¶
-
class I3ConfigurationImpl¶
- #include <I3ConfigurationImpl.h>
This class holds the configuration.
Public Types
-
typedef boost::multi_index_container<I3Parameter, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::const_mem_fun<I3Parameter, const std::string&, &I3Parameter::name>, case_insensitive_lt>>> parameters_t¶
these are the new parameters. I3Parameter saves the full type information.
Public Functions
-
virtual ~I3ConfigurationImpl()¶
-
I3ConfigurationImpl()¶
-
void Add(const std::string &name, const std::string &description, const boost::python::object &default_value)¶
-
I3Parameter GetParameter(const std::string &name) const¶
-
bool is_ok() const¶
-
std::string inspect() const¶
prints in xml format for consumption by xsltproc. You can’t just use the icecube::serialization xml since this isn’t well formed due to <px class_id=”9” class_name=”typeholder<bool>” …
-
void merge(const I3ConfigurationImpl &rhs)¶
Private Members
-
boost::shared_ptr<parameters_t> parameters¶
Friends
- friend class icecube::serialization::access
- friend class I3Configuration
-
friend std::ostream &operator<<(std::ostream&, const I3ConfigurationImpl&)¶
-
typedef boost::multi_index_container<I3Parameter, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::const_mem_fun<I3Parameter, const std::string&, &I3Parameter::name>, case_insensitive_lt>>> parameters_t¶
-
class I3Context¶
- #include <I3Context.h>
This class defines the interface used by I3ContextAccess to gain type-safe access to a module’s context.
$Id$
Copyright (C) 2003-2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2003-2007 Simon Patton Copyright (C) 2003-2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause Users should not directly access data using this class, but should hand instances of this class to I3ContextAccess to handle such issues.
- Version
$Id$
- Author
patton
Public Types
Public Functions
-
inline I3Context()¶
-
inline virtual ~I3Context()¶
-
std::vector<std::string> keys() const¶
$Id$
Copyright (C) 2003-2008 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2003-2008 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
inline const_iterator begin() const¶
-
inline const_iterator end() const¶
-
template<typename T>
struct I3DefaultName¶ - #include <I3DefaultName.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
template<typename T>
struct I3DefaultName<const T>¶ - #include <I3DefaultName.h>
Public Static Functions
-
static inline const char *value()¶
-
static inline const char *value()¶
-
template<class Product, typename FactoryFn>
class I3Factory : private noncopyable¶ - #include <I3Factory.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Types
-
typedef product_map_t::const_iterator const_iterator¶
-
typedef product_map_t::iterator iterator¶
-
typedef product_map_t::const_reference const_reference¶
-
typedef product_map_t::reference reference¶
Public Functions
-
inline const_iterator begin() const¶
-
inline const_iterator end() const¶
-
inline const_iterator find(const std::string &key) const¶
-
inline void Register(std::string name, std::string project, factory_fn_t fn)¶
-
inline I3Factory()¶
Private Members
-
product_map_t product_map¶
Friends
- friend class I3::Singleton< I3Factory >
-
class I3FileLogger : public I3Logger¶
- #include <I3SimpleLoggers.h>
A logger which writes messages to a file.
-
class I3Frame¶
- #include <I3Frame.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause The I3Frame is the container that I3Modules use to communicate with one another. It is passed from I3Module to I3Module by the icetray framework.
Public Types
-
typedef boost::transform_iterator<typename_transform, map_t::const_iterator, const std::pair<std::string, std::string>&> typename_iterator_t¶
-
typedef boost::transform_iterator<deserialize_transform, map_t::const_iterator, const std::pair<std::string, I3FrameObjectConstPtr>&> deserialize_iterator¶
Public Functions
-
explicit I3Frame(char stop)¶
-
inline ~I3Frame()¶
-
inline bool drop_blobs() const¶
-
inline void drop_blobs(bool drop)¶
Determine policy: Drop the blobs after deserialization?
- Parameters:
drop – True corresponds to drop blobs.
-
inline void clear()¶
-
inline const_iterator begin() const¶
-
inline const_iterator end() const¶
-
inline typename_iterator typename_begin() const¶
-
inline typename_iterator typename_end() const¶
-
inline typename_iterator typename_find(const std::string &key) const¶
-
inline const_iterator find(const std::string &key) const¶
-
inline bool Has(const std::string &key) const¶
Test, if a frame object exists at a given “slot”.
- Parameters:
key – The “slot” in the frame to check.
- Returns:
true, if something exists in the frame at slot key, otherwise false.
-
void purge()¶
Get a frame object.
Note
This version of Get is called when the template argument is a shared_ptr.
- Parameters:
name – This is the name of the object in the frame. That is, the key into the map under which the object is stored. This is not necessarily the same as the name of the type of the object… e.g. there might be multiple I3Particles stored at different names like “linefit” and “dipolefit”, and there might be only one I3Geometry stored at “I3Geometry”.
- Returns:
shared_ptr<const T::value_type>. That is, if Get is called as Get<shared_ptr<const T> >(name), or the equivalent Get<I3SomethingConstPtr>(name), this function returns shared_ptr<const T> or I3SomethingConstPtr. If T is a nonconst shared_ptr, const is added: e.g. Get<I3SomethingPtr>(name) returns I3SomethingConstPtr. More generally, Get<shared_ptr<T> >(name) returns shared_ptr<const T>.
Get a frame object.
Note
This version of Get is called when the template argument is not a shared pointer. It returns a const reference to T.
Puts something into the frame.
- Parameters:
name – Where to put it.
element – What to put in there. Must be a shared_ptr to something that inherits from I3FrameObject.
stream – The stream to act on.
- Throws:
If – something exists already in the frame at key name, this function will throw via log_fatal.
Puts something into the frame at its “default” location.
- Parameters:
element – What to put in there.
- Throws:
Throws – via log_fatal if something is already in the frame at the default location for T.
Puts something into the frame, even if there is already something else there
- Parameters:
name – Where to put it.
element – What to put in there.
-
void create_blobs(bool drop_memory_data, const std::vector<std::string> &skip = std::vector<std::string>()) const¶
-
template<typename OStreamT>
void save(OStreamT &os, const std::vector<std::string> &skip = std::vector<std::string>()) const¶ Serialize the frame to an output stream.
- Parameters:
os – the stream to which to write
skip – a collection of keys which should not be written
-
template<typename IStreamT>
bool load(IStreamT &is, const std::vector<std::string> &skip = std::vector<std::string>(), bool verify_checksums = true)¶ Deserialize a frame from an input stream, replacing the current contents of this frame.
- Parameters:
is – the stream from which to read
skip – a collection of keys which should not be read
verify_checksums – whether to verify that the data being read matches the saved checksum
Public Static Attributes
Private Types
-
typedef hash_map<hashed_str_t, boost::shared_ptr<value_t>, hashed_str_t_hash> map_t¶
Private Functions
-
I3FrameObjectConstPtr get_impl(map_t::const_reference value) const¶
Internal implementation of Get, where the actual deserialization is done.
-
void validate_name(const std::string &name)¶
Checks whether a name is acceptable for use as a key in the frame
- Throws:
std::runtime_error – if the name is not allowed
Private Members
-
bool drop_blobs_¶
Policy: Drop the blobs after you deserialize them. Do this if you’re low on memory. You would not do this (as in the JEB), that you’re just going to have to serialize them again.
Private Static Functions
-
class I3FrameMixer¶
- #include <I3FrameMixing.h>
When I3Frames are processed keys are mixed to subsequent frames on different streams. This class encapsulates the necessary logic in one place, and provides and interface to retrieve the frames which currently have been or would be mixed into a frame of a given type.
Public Functions
-
inline explicit I3FrameMixer(bool track_order = false, bool disable_mixing = false)¶
Construct a frame mixer.
- Parameters:
track_order – whether the order of mixed frames is recorded. Tracking has some runtime overhead, but enables MostRecentMixedStream
disable_mixing – whether the object will be used only to track frame dependencies, without performing actual mixing. This setting cannot be changed after construction.
-
void Mix(I3Frame &frame)¶
Mix keys from previous frames into frame, and if necessary update the internal cache so that keys from frame can be mixed into subsequent frames.
- Pre:
disable_mixing must have been set to false on construction
-
std::vector<boost::shared_ptr<I3Frame>> GetMixedFrames(I3Frame::Stream stop)¶
Retrieve the frames which were most recently mixed into a frame of the given stream, or if the given frame type does not appear in the cache (because it is immiscable or has not been encountered), the frames which would be mixed into such a frame were it encountered at this time.
If stream order tracking is turned on, the mixed frames will be returned in the order that they appeared in the sequence, otherwise they will be returned in an arbitrary order.
-
boost::optional<I3Frame::Stream> MostRecentMixedStream(I3Frame::Stream stop) const¶
Get the stop type of the most recent frame to be mixed which has been or will eligible for mixing into the given stream. Note that the stream in question should generally be the one for which Mix() has most recently been called.
- Parameters:
stop – The stream into which mixing is to be considered.
- Pre:
Order tracking must be active
- Returns:
The most recently seen miscable stream, if any
-
void UpdateDependencies(const I3Frame &frame)¶
Update the frame cache as if mixing this frame, but without performing any mixing. This allows GetMixedFrames to give correct results, but is incompatible with Mix. (Mix requires that only purged frames be added to the cache, which this function does not enforce.)
- Parameters:
frame – the frame to possibly add to the frame cache
- Pre:
disable_mixing must have been set to true on construction
-
inline bool TrackOrder() const¶
-
inline void TrackOrder(bool t)¶
-
inline bool MixingDisabled() const¶
-
inline void Reset()¶
Private Functions
-
std::vector<boost::shared_ptr<I3Frame>>::iterator UpdateDependenciesImpl(const I3Frame &frame)¶
The internal implementation of UpdateDependencies which assumes that the frame has been purged and performs no error checking.
- Parameters:
frame – the frame to possibly add to the frame cache
- Returns:
the iterator to the new or updated entry in the parent cache
-
inline explicit I3FrameMixer(bool track_order = false, bool disable_mixing = false)¶
-
class I3FrameObject¶
- #include <I3FrameObject.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause This is the mother of all classes that can live in the I3Frame. Exists strictly to provide a common base class for objects that live in the frame
Subclassed by I3PODHolder< T >, I3RUsage, I3TrayInfo
Public Functions
-
virtual ~I3FrameObject()¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
class I3IcePick : public I3ServiceBase¶
- #include <I3IcePick.h>
This class is the base ‘selection’ class. Provides the same ‘configuration’ interface that an I3Module does so you can configure IcePicks.
Copyright (C) 2007 John Pretz Copyright (C) 2007 Phil Roth Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause It is expected that every new kind of selection would inherit from this class. Currently, the user would then be able to use their selection in three ways: I3IcePickModule<XXX>, I3IceForkModule<XXX>, and I3IcePickInstaller<XXX> where XXX is your new kind of selection.
Public Functions
-
I3IcePick(const I3Context &context)¶
the constructor takes an I3Context as an argument.
$Id$
Copyright (C) 2007 John Pretz Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
void ConfigureInterface()¶
This function configures the parameters that the I3IcePick base class contains. From here, Configure is then called to give the derived classes a chance to configure themselves.
-
virtual void Configure()¶
This can be overridden like for I3Module’s It is called after the constructor but before the ‘SelectFrame’ method so that these can be configured like I3Modules.
-
virtual ~I3IcePick()¶
-
bool SelectFrameInterface(I3Frame &frame)¶
This function is meant to be the interface between the users of the IcePick and the derived IcePicks. Here, quantities important to the base class, I3IcePick, are dealt with before the derived classes SelectFrame() method is called.
-
virtual bool SelectFrame(I3Frame &frame) = 0¶
This is the meaty method. Derived classes need to write this method. It should return ‘true’ if the event is interesting.
-
inline unsigned GetFramesPassed()¶
Simple method to get the number of frames deemed interesting by this IcePick.
-
inline unsigned GetFramesFailed()¶
Simple method to get the number of frames deemed not interesting by this IcePick.
Friends
- friend class I3IcePickModule
- friend class I3IceForkModule
-
template<class IcePick>
class I3IcePickInstaller : public I3SingleServiceFactory<IcePick, I3IcePick>¶ - #include <I3IcePickInstaller.h>
This service factory is meant to install an I3IcePick object into the context. The specific I3IcePick being installed is used as a template throughout this class.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 Phil Roth proth@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause If you’ve written a new I3IcePick, be sure to add the appropriate I3_SERVICE_FACTORY() macro to a .cxx file.
-
class I3Module¶
- #include <I3Module.h>
Subclassed by AddNulls, AllParametersModule, BottomlessSource, ContextFreeServiceTestModule, CountObject, Fork, FrameCheck, Get, I3ConditionalModule, I3PacketModule, IntGenerator, LoggingExampleModule, MaintainInitialValuesModule, ManyStreamsSource, PhysicsBuffer, TrashCan
Public Functions
-
I3Module(const I3Context &context)¶
Constructor.
- Parameters:
context – the I3Context object containing this objects services, configuration, outboxes and so forth. Since a module is useless without a context, no default constructor is provided.
-
virtual ~I3Module()¶
Destructor.
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Configure_()¶
-
virtual bool ShouldDoProcess(I3FramePtr)¶
-
void Process_()¶
-
virtual void Process()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
inline virtual void SetName(const std::string &name)¶
Set the name of a module
- Parameters:
name – name of the module
-
inline I3Configuration &GetConfiguration()¶
-
inline const I3Configuration &GetConfiguration() const¶
-
void ConnectOutBox(const std::string &outBoxName, I3ModulePtr targetModule)¶
Connect one of this module’s outboxes to another module.
- Parameters:
outBoxName – the outbox to be connected
targetModule – the module to which the outbox will connect
-
bool AllOutBoxesConnected() const¶
Check whether all of this module’s outboxes connect to other modules.
-
bool HasOutBox(const std::string &outBoxName) const¶
Test whether this module has a particular outbox.
- Parameters:
outBoxName – the name for which to check
-
bool HasInBox() const¶
Test whether this module has a valid inbox from which it can receive frames.
- SET_LOGGER ("I3Module")
-
I3PhysicsUsage ReportUsage()¶
Protected Functions
-
virtual void DAQ(I3FramePtr frame)¶
Called when the frame was generated by a new DAQ record.
-
virtual bool ShouldDoDAQ(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the DAQ(), etc and push the frame out early if not interested.
-
virtual void Physics(I3FramePtr frame)¶
Called when the frame was generated by a new Physics record.
-
virtual bool ShouldDoPhysics(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
virtual void Geometry(I3FramePtr frame)¶
Called when the frame was generated by a new Geometry record.
-
virtual bool ShouldDoGeometry(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
virtual void Calibration(I3FramePtr frame)¶
Called when the frame was generated by a new Calibration record.
-
virtual bool ShouldDoCalibration(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
virtual void DetectorStatus(I3FramePtr frame)¶
Called when the frame was generated by a new DetectorStatus record
-
virtual bool ShouldDoDetectorStatus(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
virtual void Simulation(I3FramePtr frame)¶
Called when the frame was generated by a new Simulation record
-
virtual bool ShouldDoSimulation(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
virtual void OtherStops(I3FramePtr frame)¶
Called when the frame was generated by a new record which is none of the above records.
-
virtual bool ShouldDoOtherStops(I3FramePtr frame)¶
ShouldDo* will be reimplemented. Probably better if you don’t implement. Instead, just put any predicates like this in the Physics(), etc and push the frame out early if not interested.
-
void RequestSuspension() const¶
Requests that the Framework change from the current ‘Processing’ state to a “Suspened’ state.
-
virtual void Flush()¶
If this module buffers frames, when it receives a Finish() it must push all remaining frames and then Flush() to be sure the various stop methods get called downstream.
-
I3FramePtr PopFrame()¶
Returns the next I3Frame in the default InBox and removes the frame from the box.
- Returns:
the next I3Frame in the specified InBox.
-
I3FramePtr PeekFrame()¶
-
void PushFrame(I3FramePtr frame, const std::string &name)¶
Puts the specified I3Frame into the specified OutBox.
- Parameters:
frame – the I3Frame to put into the OutBox.
name – the name associated with the OutBox.
-
void PushFrame(I3FramePtr frame)¶
Pushes the specified I3Frame onto all outboxes
- Parameters:
frame – the frame to push
-
template<typename T>
inline void AddParameter(const std::string ¶meter, const std::string &description, T defaultValue)¶
-
template<typename T>
inline boost::disable_if<boost::is_const<T>, void>::type GetParameter(const std::string &name, T &value) const¶
Protected Attributes
-
const I3Context &context_¶
The context wherein my configuration, outboxes, and so forth can be found.
-
outboxmap_t outboxes_¶
-
I3Configuration configuration_¶
-
FrameFifoPtr inbox_¶
Private Types
Private Functions
-
I3Module()¶
Default constructor disabled.
Private Members
-
unsigned nphyscall_¶
-
unsigned ndaqcall_¶
-
double systime_¶
-
double usertime_¶
-
std::map<std::string, boost::shared_ptr<I3FrameMixer>> cachemap_¶
Private Static Attributes
-
static const double min_report_time_ = 10¶
only report usage times if greater than this
$Id$
Copyright (C) 2004 - 2008 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2004 - 2008 Simon Patton Copyright (C) 2004 - 2008 John Pretz, Copyright (C) 2004 - 2008 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3Module(const I3Context &context)¶
-
class I3NullLogger : public I3Logger¶
- #include <I3SimpleLoggers.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
class I3PacketModule : public I3Module¶
- #include <I3PacketModule.h>
This class is meant to be a wedge between an I3Module and any module that wants to process a “packet” of frames related to the same detector configuration, in some generalized sense. The usual use is for a module that wants to act on a DAQ trigger (DAQ frame) followed by its split subevents (Physics frames) as a single unit.
Copyright (C) 2011 Nathan Whitehorn nwhitehorn@icecube.wisc.edu Copyright (C) 2011 the IceCube Collaboration http://www.icecube.wisc.edu SPDX-License-Identifier: BSD-2-Clause Packet processing will send a packet starting with a frame of type sentinel (or stream start) and ending with either another frame of type sentinel, or a frame type not found in the packet_types vector. Receipt of a frame not in packet_types will cause FramePacket() to be called with the current buffer and the frame to be handled by I3Module::Process() (i.e. Geometry()/Calibration()/etc.)
NB: If packet_types is empty, packets will only be terminated by a new sentinel frame. If sentinel is set to I3Frame::DAQ in the constructor, packet_types will be initialized to [I3Frame::DAQ, I3Frame::Physics]. Otherwise it will be left blank by default.
Public Functions
-
I3PacketModule(const I3Context &context, I3Frame::Stream sentinel = I3Frame::DAQ)¶
Copyright (C) 2011 Nathan Whitehorn nwhitehorn@icecube.wisc.edu Copyright (C) 2011 the IceCube Collaboration http://www.icecube.wisc.edu SPDX-License-Identifier: BSD-2-Clause
-
~I3PacketModule()¶
-
virtual void Configure_()¶
-
virtual void Process()¶
-
void FlushQueue()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
I3PacketModule(const I3Context &context, I3Frame::Stream sentinel = I3Frame::DAQ)¶
-
struct I3Parameter¶
- #include <I3Parameter.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
I3Parameter()¶
-
I3Parameter(const I3Parameter &rhs)¶
-
I3Parameter &operator=(const I3Parameter&)¶
-
~I3Parameter()¶
-
inline bool has_default() const¶
-
inline bool has_configured() const¶
-
inline bool got_by_module() const¶
-
void set_configured(const boost::python::object &t)¶
-
void set_default(const boost::python::object &t)¶
-
boost::python::object value() const¶
Public Members
-
mutable bool got_by_module_¶
-
boost::optional<boost::python::object> default_¶
-
boost::optional<boost::python::object> configured_¶
Friends
- friend class icecube::serialization::access
-
class I3PhysicsTimer¶
- #include <I3PhysicsTimer.h>
Public Functions
-
~I3PhysicsTimer()¶
Private Functions
-
double delta(const struct timeval &starttime, const struct timeval &stoptime)¶
-
~I3PhysicsTimer()¶
-
struct I3PhysicsUsage¶
- #include <I3PhysicsUsage.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
inline I3PhysicsUsage()¶
-
template<typename T>
struct I3PODHolder : public I3FrameObject¶ - #include <I3PODHolder.h>
Public Functions
-
inline I3PODHolder()¶
-
inline I3PODHolder(const I3PODHolder<T> &rhs)¶
-
inline I3PODHolder &operator=(const I3PODHolder<T> &rhs)¶
-
inline virtual std::ostream &Print(std::ostream &os) const override¶
Print a human-readable representation of the object.
- Parameters:
os – the stream to which the representation is written
- unsigned version ar & make_nvp ("I3FrameObject", base_object< I3FrameObject >(*this))
- ar & make_nvp ("value", value)
-
inline I3PODHolder()¶
-
class I3PrintfLogger : public I3Logger¶
- #include <I3SimpleLoggers.h>
Public Functions
-
I3PrintfLogger(I3LogLevel default_level = I3DefaultLogLevel)¶
Public Members
-
bool TrimFileNames¶
Private Members
-
bool tty_¶
-
I3PrintfLogger(I3LogLevel default_level = I3DefaultLogLevel)¶
-
template<class FactoryProductType, class ActualDerivedType, template<class, class> class Creator>
struct I3Registrator : public noncopyable¶ - #include <I3Factory.h>
Public Functions
- inline I3Registrator & key_register (const char *productname, const char *projectname) I3_USED
-
inline I3Registrator()¶
Friends
- friend class I3::Singleton< I3Registrator >
-
struct I3RUsage : public I3FrameObject¶
- #include <I3PhysicsTimer.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
template<typename Archive>
void serialize(Archive &ar, unsigned version)¶ $Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
class I3ServiceBase¶
- #include <I3ServiceBase.h>
Auxiliary base class for service classes.
When you derive your service classes from this base class then you can configure them in exactly the same way as modules. You make a factory class by doing a template instantiation of I3SingleServiceFactory, e.g.:
typedef I3SingleServiceFactory<I3EventLogLikelihoodCombiner,I3EventLogLikelihoodBase> I3EventLogLikelihoodCombinerFactory; I3_SERVICE_FACTORY( I3EventLogLikelihoodCombinerFactory );
It is recommended that you provide at least two constructors for your service class: one which takes only a context and adds parameters and uses the “factory” I3ServiceBase constructor, and another one (using the “dummy” I3ServiceBase constructor) allows instantiating a service object such that all configurable parameters are directly set to specific values. The former is for regular icetray usage through python scripts, the latter makes it easier to write unit tests.
See also
Subclassed by I3IcePick
Public Functions
-
inline I3ServiceBase(const I3Context &c)¶
Factory constructor
Use this base class constructor to implement the derived class constructor which calls AddParameter() to define configuration parameters, just like an I3Module constructor.
-
inline I3ServiceBase(const std::string &name)¶
Dummy constructor
Use this base class constructor only to implement derived class constructors which configure the service class without using an I3Context. This is useful for unit tests.
-
inline virtual ~I3ServiceBase()¶
destructor
Protected Functions
-
template<typename ParamType>
inline void AddParameter(const std::string &name, const std::string &description, const ParamType &defval)¶ Convenience method: this allows defining a parameter in the same way as in an I3Module.
-
template<typename T>
inline boost::disable_if<boost::is_const<T>, void>::type GetParameter(const std::string &name, T &value) const¶ Convenience method: this allows retrieving a parameter in the same way as in an I3Module.
-
inline const I3Configuration &GetConfiguration() const¶
-
inline I3Configuration &GetConfiguration()¶
-
inline void ReplaceConfiguration(I3Configuration &externalConfiguration)¶
Switch to using an externally managed configuration. All data in the local configuration is copied before it is destroyed.
Private Functions
-
I3ServiceBase()¶
-
I3ServiceBase(const I3ServiceBase&)¶
-
I3ServiceBase &operator=(const I3ServiceBase&)¶
Friends
- friend class I3SingleServiceFactory
-
inline I3ServiceBase(const I3Context &c)¶
-
class I3ServiceFactory¶
- #include <I3ServiceFactory.h>
This class defineds the interfaces used to install a service into an I3Tray object.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 Simon Patton Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
- Version
$Id$
- Author
patton
Subclassed by I3SingleServiceFactory< MyService, ItsBaseClass >, I3SingleServiceFactory< IcePick, I3IcePick >
Public Functions
-
inline virtual ~I3ServiceFactory()¶
-
inline bool InitializeService(I3Context &services)¶
Initialize a service object (initialize and parameters coming from I3Tray and install the service object)
- Parameters:
services – the I3Services into which the service should be installed.
- Returns:
true if the services is successfully installed.
-
virtual bool InstallService(I3Context &services) = 0¶
Installed this objects service into the specified services object
- Parameters:
services – the I3Services into which the service should be installed.
- Returns:
true if the services is successfully installed.
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline const I3Configuration &GetConfiguration() const¶
-
inline I3Configuration &GetConfiguration()¶
-
inline virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a service factory can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the service factory is still in existence.
-
template<typename T>
inline void AddParameter(const std::string ¶meter, const std::string &description, const T &defaultValue)¶ Adds a new parameter to the local configuration.
Values are converted to/from strings by boost::lexical_cast<>
- Parameters:
parameter – the name of the parameter.
description – a description of the parameter to the users.
defaultValue – the default value of the parameter.
-
template<typename T>
inline boost::disable_if<boost::is_const<T>, void>::type GetParameter(const std::string &name, T &value) const¶ Gets the value of some parameter from the configuration.
Values are converted to/from strings by boost::lexical_cast<>.
- Parameters:
name – the name of the parameter.
value – where to put the value.
- Returns:
void
- SET_LOGGER ("I3ServiceFactory")
Private Functions
-
I3ServiceFactory(const I3ServiceFactory &rhs)¶
-
I3ServiceFactory &operator=(const I3ServiceFactory &rhs)¶
-
template<class MyService, class ItsBaseClass = MyService>
class I3SingleServiceFactory : public I3ServiceFactory¶ - #include <I3SingleServiceFactory.h>
This is a generic factory for services which do not need individual copies for all “users”. That is, only one service object gets created per factory object, and it gets put into all contexts. So it is still possible to have two different service objects of the same class but with different configurations; just define two separate factories with the different configuration parameters in your python script.
- Author
boersma (after an idea by juancarlo)
The service objects are made available using the second argument of the “AddService” call. That is, with the following python lines you’d create two differently configured service objects, which modules can retrieve and use via the names “room101” and “room102”, respectively.
tray.AddService(“I3SingleServiceFactory<I3RoomService>”,”room101”)( (“FridgeContents”,[“vodka”,”caviar”]), ) tray.AddService(“I3SingleServiceFactory<I3RoomService>”,”room102”)( (“FridgeContents”,[“yoghurt”,”granola”]), )
To use this factory for a specific service, the service class needs to implement at least an I3Context-using constructor and a Configure() method.
MyService::MyService(I3Context&); void MyService::Configure(I3Context&);
To facilitate adding and getting parameters to/from the context, you can derive your class from I3ServiceBase, but that’s not strictly necessary. The base class defines a few convenience methods. If the service is not happy with what it gets from the configuration, it should call log_fatal during Configure().
For the instantiation of the factory class you provide two template parameters. The first should be the service class itself, it is used to to instantiate the service object(s). Many service classes are derived of some other service base classes, e.g. I3EventLogLikelihoodBase. If the service factory should Put() the service object pointer into a context as a pointer-to-base, then you can use the second template argument to specify that base class. The second template argument can also be omitted, by default it is identical to the first template argument.
The implementation file of the service class (say “I3RoomSercice”) should also contain a line of the form: I3_SERVICE_FACTORY(I3SingleServiceFactory<I3RoomService>)
See also
I3MultiServiceFactory, I3ServiceFactory, I3Context, I3Configuration
Public Functions
-
inline virtual void Configure()¶
Let the datamember instance of the service configure itself.
Protected Attributes
Private Functions
- SET_LOGGER ("I3SingleServiceFactory")
logging configuration thingy
-
class I3SyslogLogger : public I3Logger¶
- #include <I3SimpleLoggers.h>
Logger that generates log messages, which will be distributed by syslogd.
Note
I3SyslogLogger is thread-safe, however system calls openlog and closelog must not be used from any other program location. Violations may result in an undefined behavior.
Public Functions
-
explicit I3SyslogLogger(I3LogLevel default_level = I3DefaultLogLevel)¶
Constructor.
- Parameters:
default_level – The log level that is assigned to any logging unit (cf. I3Logger) that has no explicit log level set (cf. I3Logger::SetLogLevelForUnit) (optional; default value is I3DefaultLogLevel).
-
virtual ~I3SyslogLogger()¶
Destructor.
Public Static Functions
-
static void Open(const std::string &ident)¶
Opens a connection to the system logger for all I3SyslogLogger instances.
The connection is opened automatically during the first call to I3SyslogLogger::Log - however, an empty identification string is used in that case.
- Attention
The connection to the system logger must not be opened twice.
Note
I3SyslogLogger uses the LOG_USER log facility. It writes directly to system console if there is an error while sending to syslogd, it opens the connection immediately and not just before the first message is logged, and it includes PID with each message.
- Parameters:
ident – is prepended to every message, and is typically set to the program name. If ident is “”, the default identification string used in syslog messages will be the program name, taken from argv[0].
- Throws:
std::logic_error – in case of subsequent calls to Open.
Private Static Functions
-
static inline bool IsOpen()¶
-
explicit I3SyslogLogger(I3LogLevel default_level = I3DefaultLogLevel)¶
-
class I3Tray¶
- #include <I3Tray.h>
This is I3Tray.
The I3Tray provides a certain configuration interface:
I3Tray tray; tray.AddService("TestServiceFactory", "service") ("boolParam", true) ("intParam", 52) ("floatParam", 1.2) ("doubleParam", 4.14159) ("longParam", 68); tray.AddModule("TestModule", "test") ("boolParam", false) ("intParam", 53) ("floatParam", 1.1) ("doubleParam", 3.14159) ("stringParam", "it puts the lotion in the basket") ("longParam", 67); tray.Execute();
The modules and service will be created and added to the tray in the order that they appear. The parenthesized (“variable-name”, variable-value) pairs will become calls to
SetParameter
for the module that they are associated with, e.g. “TestServiceFactory”, above will have it’s “doubleParam” set to 4.14159.If, as above,
tray.ConnectBoxes()
is not called by the user, each module’s OutBox will be connected to the following Module’s InBox, in the order they appear, before Execute() begins. If it is called at all, no default ConnectBoxes will be performed.Public Functions
-
I3Tray()¶
-
~I3Tray()¶
-
param_setter AddService(const std::string &clazz, std::string name = "")¶
Adds the specified I3ServiceFactory to the framework.
- Parameters:
clazz – the class of the I3ServiceFactory.
name – the name associated with services the created by the factory.
-
template<class Type>
param_setter AddService(std::string name = "")¶ Adds the specified I3ServiceFactory to the framework.
-
template<class Type>
boost::enable_if<boost::is_base_of<I3Module, Type>, param_setter>::type AddModule(std::string name = "")¶
-
param_setter AddModule(boost::python::object obj, std::string instancename = "")¶
-
param_setter AddModule(const std::string &name, std::string instancename = "")¶
-
param_setter AddModule(I3ModulePtr module, std::string instancename = "")¶
Adds an arbitrary object as a module which is callable with an I3FramePtr and returns nothing or a boolean result.
-
bool ConnectBoxes(const std::string &fromModule, const std::string &fromOutBox, const std::string &toModule)¶
Connects the specified OutBox to the specified InBox. If not name is specified for the InBox then the OutBox will be connected to the default InBox of the module associated with the ‘toModule’ name.
- Parameters:
fromModule – the name to associated with the OutBox’s module.
fromOutBox – the name of the OutBox.
toModule – the name to associated with the InBox’s module.
-
void Execute()¶
Executes a processing loop which will continue until there is no more data to process (that is, a module invokes RequestSuspension).
-
void Execute(unsigned maxCount)¶
Runs the tray until the specified maximum count is reached, or a module invokes RequestSuspension();
- Parameters:
maxCount – the maximum process transitions for the driving module.
-
std::map<std::string, I3PhysicsUsage> Usage()¶
Report per-module physics ncalls/system/user time usage. Have to call this after* Execute()
-
void Finish()¶
Finishes everything. It is assumed that if the modules are to be used again that they will be freshly ‘Configured’
-
I3TrayInfo TrayInfo()¶
Get the tray info object for this tray.
-
I3Context &GetContext()¶
Return the tray’s master context. This allows manual inspection and addition of services.
-
bool SetParameter(const std::string &module, const std::string ¶meter, boost::python::object value)¶
-
template<class Type>
inline bool SetParameter(const std::string &module, const std::string ¶meter, const Type &value)¶
-
inline void RequestSuspension()¶
Private Functions
-
boost::shared_ptr<I3ServiceFactory> CreateService(I3Context &context, const std::string &clazz)¶
-
void ConnectBoxesInOrderTheyWereAdded()¶
Connects modules in a simple chain, each’s outbox to the next’s default inbox, for use in simple module chain situaitons so that the order of AddModule can also be used to set the outbox connections.
-
void Configure()¶
called just before Execute starts.
-
void Execute(bool executeForever, unsigned maxCount)¶
called by Execute() or Execute(unsigned maxCount)
Note
Calling Execute(std::numeric_limits<unsigned>::max()) from Execute() may look like a good idea - a huge maxCount means more or less ‘forever’ - but it isn’t. It’s like O(10 days) run-time for some trays only! Add a boolean parameter to disable the testing of maxCount against the number of frames that have been processed so far.
- Parameters:
executeForever – disable maxCount and run/execute forever if true.
maxCount – the maximum number of frames to process.
-
void Abort()¶
Generates an Abort transition in the main module if it is in the appropriate state. Otherwise it does nothing.
-
std::string CreateName(const std::string &type, const std::string &kind, const std::vector<std::string> &existingNames)¶
Generate a new name for a module or service which had none specified.
- Parameters:
type – the type of object being added (e.g. I3Reader)
kind – the category of object being added (e.g. Module or Service)
existingNames – the names already in use by objects of the same kind
- SET_LOGGER ("I3Tray")
-
template<>
I3Tray::param_setter AddFunctionModule(std::function<void(boost::shared_ptr<I3Frame>)>, const std::string &instancename)
-
template<>
I3Tray::param_setter AddFunctionModule(std::function<bool(boost::shared_ptr<I3Frame>)>, const std::string &instancename)
Private Members
-
std::map<std::string, I3ServiceFactoryPtr> factories¶
-
I3ModulePtr driving_module¶
-
bool boxes_connected¶
-
bool configure_called¶
-
bool execute_called¶
-
bool suspension_requested¶
Private Static Functions
-
static void set_suspend_flag(int sig)¶
-
static void die_messily(int sig)¶
-
static void report_usage(int sig)¶
Private Static Attributes
-
static sig_atomic_t global_suspension_requested¶
-
I3Tray()¶
-
struct I3TrayInfo : public I3FrameObject¶
- #include <I3TrayInfo.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
virtual std::ostream &Print(std::ostream&) const override¶
Print a human-readable representation of the object.
- Parameters:
os – the stream to which the representation is written
-
std::string PrintCompact()¶
Print the factory/module parameters in a way which is more compact than the normal print method.
-
I3TrayInfo()¶
Public Members
-
unsigned svn_revision¶
-
class I3TrayInfoService¶
- #include <I3TrayInfoService.h>
-
template<typename StreamType, typename T>
struct insertion¶ - #include <has_operator.h>
Determine whether a type can be output to a stream.
- Template Parameters:
StreamType – the type of stream which is the target
T – the ype to be inserted into the stream
Public Static Attributes
-
static StreamType &stream¶
-
static const bool value =
sizeof(check(stream << x)) == sizeof(yes)
¶
-
class IntGenerator : public I3Module¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Private Members
-
int i¶
- #include <is_shared_ptr.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause traits classes that identify if a template parameter is a shared_ptr or not
- Template Parameters:
T – typename to evaluate
-
class Keep : public I3ConditionalModule¶
- #include <Keep.h>
Clean up frame and keep only objects with names that match any some given keys.
Keep supports two parameters:
Keys (keep frame objects with names that match any of these keys (default value is “I3Calibration”, “I3DetectorStatus”, “I3Geometry”, “DrivingTime”, “I3EventHeader”)) and
KeyStarts (keep frame objects with names that start with any of these strings (default is an empty list)).
Public Functions
-
Keep(const I3Context &context)¶
Constructor.
- Parameters:
context – the I3Context object containing this objects services.
-
virtual ~Keep()¶
Destructor.
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
struct LoggingExampleModule : public I3Module¶
$Id$
Copyright (C) 2021 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
struct MaintainInitialValuesModule : public I3Module¶
Public Functions
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
-
inline virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
inline virtual void Configure()¶
-
struct ManyStreamsSource : public I3Module¶
$Id$
Copyright (C) 2004-8 The IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
class ModuleTimer¶
-
struct MyService¶
-
struct no¶
- #include <has_operator.h>
Public Members
-
char array[2]¶
-
char array[2]¶
-
class OMKey¶
- #include <OMKey.h>
A small class which is the string number, om number and pmt number for a specific PMT inside a DOM.
For IceCube, the PMT number will always be 0 and “PMT” is equivalent to “DOM”. For IceTop, the PMT number can be 0 or 1.
Public Functions
-
inline OMKey()¶
-
inline OMKey(int str, unsigned int om)¶
-
inline OMKey(int str, unsigned int om, unsigned char pmt)¶
-
virtual ~OMKey()¶
$Id$
Copyright (C) 2007 The IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
inline void SetString(int str)¶
Sets the string number for this OM
-
inline unsigned int GetOM() const¶
gets the OM number on the string
-
inline void SetOM(unsigned int om)¶
sets the OM number on the string
-
inline unsigned char GetPMT() const¶
gets the PMT number in the DOM
-
inline void SetPMT(unsigned char pmt)¶
sets the PMT number in the DOM
Private Functions
Friends
- friend class icecube::serialization::access
-
inline OMKey()¶
-
class param_setter¶
- #include <I3Tray.h>
local convenience class: functor that eats pairs of arguments and calls SetParameter. For terseness in creating/configuring I3Trays.
Public Functions
-
inline param_setter(const param_setter &rhs)¶
-
template<typename T>
inline param_setter &operator()(const std::string ¶m, T value)¶
-
inline param_setter(const param_setter &rhs)¶
-
class PhysicsBuffer : public I3Module¶
- #include <PhysicsBuffer.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause This module buffers physics frames. The important thing about a
Public Functions
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Physics(I3FramePtr frame)¶
Called when the frame was generated by a new Physics record.
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
struct predicates¶
-
struct product_info_t¶
- #include <I3Factory.h>
-
class PythonFunction : public I3ConditionalModule¶
- #include <PythonFunction.h>
Public Functions
-
virtual ~PythonFunction()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
Private Functions
-
PythonFunction(const PythonFunction&)¶
-
PythonFunction &operator=(const PythonFunction&)¶
- SET_LOGGER ("PythonFunction")
-
virtual ~PythonFunction()¶
-
template<typename Base>
struct PythonModule : public Base, public boost::python::wrapper<Base>¶ - #include <PythonModule.h>
Public Functions
-
void PyConfigure()¶
-
void Configure()¶
-
void PyProcess()¶
-
void Process()¶
-
void PyFinish()¶
-
void Finish()¶
-
void AddParameter(const std::string &name, const std::string &description, const boost::python::object &value)¶
-
bool ShouldDoGeometry(I3FramePtr frame)¶
-
void Geometry(I3FramePtr frame)¶
-
bool ShouldDoCalibration(I3FramePtr frame)¶
-
void Calibration(I3FramePtr frame)¶
-
bool ShouldDoDetectorStatus(I3FramePtr frame)¶
-
void DetectorStatus(I3FramePtr frame)¶
-
bool ShouldDoSimulation(I3FramePtr frame)¶
-
void Simulation(I3FramePtr frame)¶
-
bool ShouldDoDAQ(I3FramePtr frame)¶
-
void DAQ(I3FramePtr frame)¶
-
bool ShouldDoPhysics(I3FramePtr frame)¶
-
void Physics(I3FramePtr frame)¶
-
void PushFrame(I3FramePtr frame)¶
-
void RequestSuspension()¶
-
I3FramePtr PopFrame()¶
-
inline const I3Configuration &GetConfiguration() const¶
- SET_LOGGER ("PythonModule")
-
void PyConfigure()¶
-
class Rename : public I3ConditionalModule¶
- #include <Rename.h>
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause Renames things in the frame. Has special privileges granted by I3Frame.
Public Functions
-
inline virtual ~Rename()¶
-
virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
virtual void Process()¶
-
virtual void Finish()¶
The purpose of this transition is to give this object the opportunity to wind up gracefully. For example a module can use this transition to create a summary of its activities during the execution of the job. Note that after this transition the module is still in existence.
-
class sigint_exception : public std::exception¶
- #include <I3Tray.h>
Public Functions
-
inline virtual const char *what() const¶
-
inline virtual const char *what() const¶
-
template<class T>
class Singleton : public I3::SingletonModule¶ - #include <Singleton.h>
Public Static Functions
- static inline I3_DLLEXPORT T & get_mutable_instance ()
- static inline I3_DLLEXPORT const T & get_const_instance ()
- static inline I3_DLLEXPORT bool is_destroyed ()
Private Static Functions
- static inline I3_DLLEXPORT T & get_instance ()
Private Static Attributes
- static I3_DLLEXPORT T & instance = Singleton<T>::get_instance()
-
class SingletonModule : public noncopyable¶
- #include <Singleton.h>
Subclassed by I3::Singleton< T >
Public Static Functions
-
static inline void lock()¶
-
static inline void unlock()¶
-
static inline bool is_locked()¶
Private Static Functions
-
static inline bool &get_lock()¶
-
static inline void lock()¶
-
template<class FactoryProductType, class ModuleType>
struct StandardCreate¶ - #include <I3Factory.h>
Public Static Functions
-
static inline boost::shared_ptr<FactoryProductType> Create(const I3Context &c)¶
-
static inline boost::shared_ptr<FactoryProductType> Create(const I3Context &c)¶
-
struct Stream¶
- #include <I3Frame.h>
The I3Frame takes these in the constructor. They indicate what stream this frame is on (in other words, which I3Module functions should get called as this frame goes downstream: Physics(), Geometry(), Calibration(), etc.
These were just an enum… But if streams change in the future, we want to be backwards-compatible with how we serialize these guys, and that means incrementing the version number on the serialization method for these.
Private Members
-
char value¶
-
char value¶
-
struct TrashCan : public I3Module¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Public Functions
-
inline virtual void Configure()¶
The purpose of this transition is to give this object an opportunity to access all of its parameters so that it will be able to process data. This transition is executed immediately before the first ‘Process’ transition, thus any parameters that has been set, either by a person or a steering file, will be available to this object before it starts processing data frames.
This transition also gives this object an opportunity to reserve any resources it will need to use during the subsequent ‘Process’ transitions.
-
inline virtual void Process()¶
- SET_LOGGER ("TrashCan")
-
struct type_info_ptr_hash¶
-
struct typename_iterator : public typename_iterator_t¶
- #include <I3Frame.h>
-
struct typename_transform¶
- #include <I3Frame.h>
Public Functions
-
inline result_type operator()(map_t::const_reference pr) const¶
-
inline result_type operator()(map_t::const_reference pr) const¶
-
class TypenameCache¶
-
Private Types
-
typedef hash_map<const std::type_info*, std::string, type_info_ptr_hash> typename_map_t¶
Private Functions
-
TypenameCache(const TypenameCache&)¶
-
TypenameCache &operator=(const TypenameCache&)¶
-
typedef hash_map<const std::type_info*, std::string, type_info_ptr_hash> typename_map_t¶
-
struct value_t¶
-
class Wrapper : public T¶
Public Functions
-
inline ~Wrapper()¶
Public Static Attributes
-
static bool m_is_destroyed = false¶
-
inline ~Wrapper()¶
-
class zstd_compressor¶
- #include <zstd_filter.hpp>
Public Types
-
using char_type = char¶
Public Functions
-
inline zstd_compressor(int compressionLevel)¶
-
inline zstd_compressor(const zstd_compressor &other)¶
-
inline zstd_compressor(zstd_compressor &&other)¶
-
~zstd_compressor() = default¶
-
zstd_compressor &operator=(const zstd_compressor&) = delete¶
-
inline zstd_compressor &operator=(zstd_compressor &&other)¶
Private Functions
-
inline void initStream()¶
Private Static Functions
-
static inline void stream_delete(ZSTD_CStream *stream)¶
-
using char_type = char¶
-
class zstd_decompressor : public multichar_input_filter¶
- #include <zstd_filter.hpp>
Public Types
-
using char_type = char¶
Public Functions
-
inline zstd_decompressor()¶
-
inline zstd_decompressor(const zstd_decompressor &other)¶
-
inline zstd_decompressor(zstd_decompressor &&other)¶
-
~zstd_decompressor() = default¶
-
zstd_decompressor &operator=(const zstd_decompressor&) = delete¶
-
inline zstd_decompressor &operator=(zstd_decompressor &&other)¶
Private Functions
-
inline void initStream()¶
Private Static Functions
-
static inline void stream_delete(ZSTD_DStream *stream)¶
-
using char_type = char¶
-
namespace [anonymous]
-
namespace [anonymous]¶
-
namespace [anonymous]¶
-
namespace [anonymous]¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
namespace [anonymous]¶
-
namespace has_operator¶
Type traits for detecting whether types can be used with particular operators.
Typedefs
-
typedef char yes¶
-
typedef char yes¶
-
namespace I3
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
$Id$
Copyright (C) 2012 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Functions
-
void init_icetray_lib()¶
Initialize the icetray library. This function will initialize Python, if not already done, and load the icetray module into it; this ensures that icetray code that interacts with python data structures will work correctly.
This function should be called near the beginning of any C++ program that uses libicetray. Python scripts don’t need to worry about this.
-
namespace dataio
Functions
-
std::string GetScratchDirectory()¶
Attempt to get a path to a directory where large temporary files can be written. The order of directories which will be tried is:
The path manually set by
SetScratchDirectory
The value of the
_CONDOR_SCRATCH_DIR
environment variable, if setThe value of the
TMPDIR
environment variable, if set/scratch/<real user name>
/global/scratch/<real user name>
The current working directory
The first directory which exists or can be created will be returned. That value will then be cached and returned on subsequent calls (so even if the current working directory was selected, calling
chdir
and then callingGetScratchDirectory
again will continue to yield the original directory. However, directly callingSetScratchDirectory
will replace the cached value, so users should not depend on the result of this function never changing.
-
void SetScratchDirectory(std::string path)¶
Manually set the path which should be returned by
GetScratchDirectory
. This makes most sense before the first call toGetScratchDirectory
, but is not currently forbidden at later times.- Parameters:
path – the scratch directory path
-
void UnsetScratchDirectory()¶
Unsets any cached directory path, forcing the next call to
GetScratchDirectory
to recompute its value. This function is intended primarily for testing.
-
void open(io::filtering_ostream &ofs, const std::string &filename, int compression_level, std::ios::openmode mode)¶
-
void open(boost::iostreams::filtering_ostream&, const std::string &filename, int compression_level_ = 0, std::ios::openmode mode = std::ios::binary)¶
Open an output file using compression if indicated by an extension on the file name.
- Parameters:
filename – the path to which the file must be written
compression_level_ – the compression level to use if writing a compressed format. The default value of zero will be interpreted in a format dependent way, being replaced by: 6 for gzip (.gz) 6 for bzip2 (.bz2) 4 for zstd (.zst)
mode – the mode to use when writing
-
std::string GetScratchDirectory()¶
-
namespace [anonymous]¶
-
namespace detail
Functions
-
namespace I3Units
Unit definitions for the dataclasses.
The I3Units namespace contains a bunch of “static const double’s” which define the units that are used in the dataclasses. The header originally comes from Geant4, and wrapping it in and I3Units namespace is an IceCube modification.
The basic units are those of the International System:
meter
second
kilogram
ampere
kelvin
the amount of substance (mole)
luminous intensity (candela)
radian
steradian
The SI numerical value of the positron charge is defined here, as it is needed for conversion factor : positron charge = e_SI (coulomb)
This clearly needs more docs. In general, you want to “add units” when you store them in container, and “remove” them when you fetch them. This ensures that all data is stored uniformly. For example: double myvoltage = 45.00*I3UnitsV; myContainerPtr->SetVoltage(myvoltage);
….. readvoltage = myContainerPtr->GetVoltage()/I3UnitsV;
Variables
-
static const double meter = 1.¶
meter
-
static const double millimeter2 = millimeter * millimeter¶
square millimeter
-
static const double millimeter3 = millimeter * millimeter * millimeter¶
cubic millimeter
-
static const double centimeter = 10. * millimeter¶
centimeter
-
static const double centimeter2 = centimeter * centimeter¶
square centimeter
-
static const double centimeter3 = centimeter * centimeter * centimeter¶
cubic centimeter
-
static const double mm = millimeter¶
millimeter
-
static const double mm2 = millimeter2¶
square millimeter
-
static const double mm3 = millimeter3¶
cubic millimeter
-
static const double cm = centimeter¶
centimeter
-
static const double cm2 = centimeter2¶
square centimeter
-
static const double cm3 = centimeter3¶
cubic centimeter
-
static const double km2 = kilometer2¶
square kilometer
-
static const double km3 = kilometer3¶
cubic kilometer
-
static const double radian = 1.¶
radian
-
static const double steradian = 1.¶
steradian
-
static const double mrad = milliradian¶
milliradian
-
static const double second = 1.e9¶
second
-
static const double ns = nanosecond¶
nanosecond
-
static const double ms = millisecond¶
millisecond
-
static const double electronvolt = 1.0e-9¶
eV
-
static const double kiloelectronvolt = 1.e+3 * electronvolt¶
keV
-
static const double megaelectronvolt = 1.e+6 * electronvolt¶
MeV
-
static const double gigaelectronvolt = 1.e+9 * electronvolt¶
GeV
-
static const double teraelectronvolt = 1.e+12 * electronvolt¶
TeV
-
static const double petaelectronvolt = 1.e+15 * electronvolt¶
PeV
-
static const double MeV = megaelectronvolt¶
MeV
-
static const double eV = electronvolt¶
eV
-
static const double keV = kiloelectronvolt¶
keV
-
static const double GeV = gigaelectronvolt¶
GeV
-
static const double TeV = teraelectronvolt¶
TeV
-
static const double PeV = petaelectronvolt¶
PeV
-
static const double eplus = 1.¶
Charge
-
static const double eSI = 1.602176462e-19¶
-
static const double pC = picocoulomb¶
-
static const double joule = electronvolt / eSI¶
joule
-
static const double mA = milliampere¶
-
static const double nA = nanoampere¶
-
static const double millivolt = (electronvolt * 1.e-3) / eplus¶
Millivolt
-
static const double statvolt = 299792458. / 1.e6 * volt¶
Voltage in cgs is the statvolt. [statV] = c_light (in m/s) / 10^6 [Volt]
-
static const double kelvin = 1.0¶
Kelvin
-
static const double perCent = 0.01¶
percent
-
static const double perThousand = 0.001¶
perThousand
-
static const double perMillion = 0.000001¶
perMillion
-
static const double meter = 1.¶
-
namespace icecube
-
namespace serialization
Functions
-
template<class Archive>
void save(Archive &ar, const I3ConfigurationImpl::parameters_t ¶ms, unsigned)¶
-
template<class Archive>
void load(Archive &ar, I3ConfigurationImpl::parameters_t ¶ms, unsigned)¶
-
template<class Archive>
-
namespace icetray¶
-
namespace detail¶
-
namespace python¶
-
namespace memory¶
-
namespace std
STL namespace.
- file AddNulls.cxx
- #include <icetray/Utility.h>#include <icetray/I3Frame.h>#include <icetray/I3ConditionalModule.h>#include <string>#include <vector>
- file AddNulls.h
- #include <icetray/I3Module.h>#include <string>#include <vector>
- file AllParametersModule.cxx
- #include <icetray/I3Tray.h>#include <icetray/I3Frame.h>#include <icetray/I3Module.h>#include <icetray/OMKey.h>#include <boost/assign/std/vector.hpp>
Functions
-
I3_MODULE(AllParametersModule)¶
-
I3_MODULE(AllParametersModule)¶
- file archive_filter.hpp
- #include <boost/iostreams/filtering_stream.hpp>#include <archive.h>#include <archive_entry.h>#include <boost/algorithm/string.hpp>#include <icetray/I3Logging.h>
Defines
-
archive_read_free¶
- Rcs
open.cxx 2595 2016-06-01 18:26:57Z cweaver
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
archive_read_support_filter_all¶
-
archive_read_support_filter_gzip¶
-
archive_read_support_filter_bzip2¶
-
archive_read_support_filter_lzma¶
-
archive_read_support_filter_xz¶
Enums
-
enum compression_type¶
Values:
-
archive_read_free¶
- file boost_serializable_pickle_suite.hpp
- #include <vector>#include “icetray/serialization.h”#include “icetray/I3Frame.h”#include <boost/iostreams/stream.hpp>#include <boost/iostreams/device/array.hpp>#include <boost/iostreams/device/back_inserter.hpp>#include <boost/iostreams/copy.hpp>#include <boost/iostreams/filtering_stream.hpp>#include <boost/python/tuple.hpp>#include <boost/python/str.hpp>#include <boost/python/dict.hpp>#include <boost/python/extract.hpp>#include <boost/python/object/pickle_support.hpp>
- file BottomlessSource.cxx
- #include <icetray/I3Module.h>#include <icetray/I3Frame.h>
Functions
-
I3_MODULE(BottomlessSource)¶
-
I3_MODULE(BottomlessSource)¶
- file context_suite.hpp
- #include <boost/python/def_visitor.hpp>#include <icetray/I3Context.h>#include <icetray/name_of.h>
- file ContextFreeServiceTestModule.cxx
- #include <icetray/I3Tray.h>#include <icetray/I3Frame.h>#include <icetray/I3Module.h>#include <icetray/OMKey.h>#include <boost/assign/std/vector.hpp>
Functions
-
I3_MODULE(ContextFreeServiceTestModule)¶
Variables
-
static boost::shared_ptr<MyService> service_ptr_param
-
I3_MODULE(ContextFreeServiceTestModule)¶
- file Copy.cxx
- #include <boost/regex.hpp>#include <fstream>#include <string>#include <set>#include “icetray/I3Tray.h”#include “icetray/I3TrayInfo.h”#include “icetray/I3TrayInfoService.h”#include “icetray/Utility.h”#include “icetray/I3ConditionalModule.h”#include “icetray/I3TrayHeaders.h”#include “icetray/I3Logging.h”
- file copy_suite.hpp
- #include <stdint.h>#include <boost/python/object.hpp>#include <boost/python/dict.hpp>#include <boost/python/init.hpp>#include <boost/python/extract.hpp>#include <boost/python/import.hpp>#include <boost/python/manage_new_object.hpp>#include <boost/python/def_visitor.hpp>
- file counter64.hpp
- #include <algorithm>#include <boost/iostreams/categories.hpp>#include <boost/iostreams/char_traits.hpp>#include <boost/iostreams/operations.hpp>#include <boost/iostreams/pipeline.hpp>#include <boost/iostreams/detail/config/disable_warnings.hpp>#include <boost/iostreams/detail/config/enable_warnings.hpp>
- file CountFrames.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Frame.h>#include <icetray/Utility.h>#include <map>#include <boost/assign/list_inserter.hpp>
Functions
-
I3_MODULE(CountFrames)¶
-
I3_MODULE(CountFrames)¶
- file CountObject.cxx
- #include “icetray/modules/CountObject.h”#include “icetray/Utility.h”#include “icetray/I3Frame.h”#include <boost/assign/list_inserter.hpp>#include <boost/foreach.hpp>
Functions
-
I3_MODULE(CountObject)¶
-
I3_MODULE(CountObject)¶
- file CountObject.h
- #include <icetray/I3Module.h>#include <icetray/I3Frame.h>#include <map>
- file crc-ccitt.h
Functions
Variables
-
uint16_t const crc_ccitt_table[256]¶
-
uint16_t const crc_ccitt_table[256]¶
- file CreateBlobs.cxx
- #include <iostream>#include <icetray/I3Context.h>#include <icetray/I3Frame.h>#include <icetray/I3ConditionalModule.h>
Functions
-
I3_MODULE(CreateBlobs)¶
-
I3_MODULE(CreateBlobs)¶
- file dataclass_suite.hpp
- #include <typeinfo>#include <boost/python/def_visitor.hpp>#include <icetray/has_operator.h>#include <icetray/python/copy_suite.hpp>#include <icetray/python/stream_to_string.hpp>#include <icetray/python/std_map_indexing_suite.hpp>#include <icetray/python/list_indexing_suite.hpp>#include <icetray/python/tree_indexing_suite.hpp>#include <icetray/python/operator_suite.hpp>#include <boost/utility/enable_if.hpp>#include <boost/mpl/if.hpp>#include <boost/mpl/or.hpp>#include <boost/static_assert.hpp>#include <boost/typeof/typeof.hpp>
Defines
-
HAS_TYPEDEF(def, name)¶
-
HAS_TYPEDEF(def, name)¶
- file Delete.cxx
- #include <string>#include <vector>#include <boost/algorithm/string.hpp>#include <icetray/I3ConditionalModule.h>#include <icetray/I3TrayHeaders.h>
- file Dump.cxx
- #include <iostream>#include <icetray/I3Context.h>#include <icetray/I3Frame.h>#include <icetray/I3ConditionalModule.h>
- file Fork.cxx
- #include <icetray/I3Module.h>#include <icetray/Utility.h>#include <icetray/I3Frame.h>#include <string>#include <set>
- file FrameCheck.cxx
- #include “icetray/modules/FrameCheck.h”#include “icetray/Utility.h”#include “icetray/I3Frame.h”#include <boost/assign/list_inserter.hpp>#include <boost/foreach.hpp>
Functions
-
I3_MODULE(FrameCheck)¶
-
I3_MODULE(FrameCheck)¶
- file FrameCheck.h
- #include <icetray/I3Module.h>#include <icetray/I3Frame.h>#include <map>
- file function.hpp
- #include <boost/python.hpp>#include <boost/function.hpp>#include <boost/preprocessor/repetition/enum_binary_params.hpp>#include <boost/preprocessor/repetition/enum_params.hpp>#include <boost/preprocessor/repetition/repeat.hpp>#include <boost/preprocessor/repetition/repeat_from_to.hpp>
Defines
-
MAKE_PYOBJECT_INVOKER(z, n, data)¶
-
MAKE_PYOBJECT_INVOKER(z, n, data)¶
- file FunctionModule.cxx
- #include “FunctionModule.h”
- file FunctionModule.h
- #include <set>#include <functional>#include <icetray/I3ConditionalModule.h>
- file Get.cxx
- #include <icetray/I3Module.h>#include <icetray/I3Frame.h>#include <boost/foreach.hpp>#include <vector>#include <string>
- file get_class.hpp
- #include “pybindings.hpp”#include <boost/python/converter/registry.hpp>#include <set>
- file gil_holder.hpp
- #include “pybindings.hpp”
- file has_operator.h
- file http_source.cpp
- #include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <boost/asio.hpp>#include <boost/iostreams/filtering_stream.hpp>#include <boost/algorithm/string.hpp>#include <archive/iterators/base64_from_binary.hpp>#include <archive/iterators/transform_width.hpp>#include <icetray/I3Logging.h>#include “http_source.hpp”
Functions
- file http_source.hpp
- #include <boost/asio.hpp>
- file i3_extended_type_info.h
- #include <cstring>#include <cassert>#include <serialization/extended_type_info_typeid.hpp>
Defines
-
I3_SERIALIZATION_DEFAULT_TYPE_INFO¶
$Id$
(C) Copyright 2002 Robert Ramey - http://www.rrsd.com . SPDX-License-Identifier: BSL-1.0 Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
See http://www.boost.org for updates, documentation, and revision history.
-
I3_SERIALIZATION_DEFAULT_TYPE_INFO
$Id$
(C) Copyright 2002 Robert Ramey - http://www.rrsd.com . SPDX-License-Identifier: BSL-1.0 Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
See http://www.boost.org for updates, documentation, and revision history.
-
I3_SERIALIZATION_DEFAULT_TYPE_INFO¶
- file I3Bool.cxx
- #include <icetray/serialization.h>#include <icetray/I3Bool.h>
Functions
-
I3_SERIALIZABLE(I3Bool)¶
$Id$
Copyright (C) 2008 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2008 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3_SERIALIZABLE(I3Bool)¶
- file I3Bool.h
- #include <icetray/I3DefaultName.h>#include <icetray/I3PODHolder.h>
Typedefs
-
typedef I3PODHolder<bool> I3Bool¶
Copyright (C) 2007, 8 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007, 8 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
typedef I3PODHolder<bool> I3Bool¶
- file I3ConditionalModule.cxx
- #include “icetray/I3ConditionalModule.h”#include “icetray/I3Context.h”#include “icetray/impl.h”
- file I3ConditionalModule.h
- #include “icetray/I3Module.h”#include “icetray/I3IcePick.h”
- file I3Configuration.cxx
- #include <icetray/I3Logging.h>#include <icetray/I3Configuration.h>#include <icetray/I3ConfigurationImpl.h>#include <icetray/serialization.h>#include <serialization/scoped_ptr.hpp>#include <icetray/Utility.h>#include <boost/preprocessor.hpp>#include <algorithm>#include <cctype>#include <boost/python/object.hpp>#include <boost/foreach.hpp>#include <iomanip>
Functions
-
I3_BASIC_SERIALIZABLE(I3Configuration)¶
-
ostream &operator<<(ostream &os, const I3Configuration &config)¶
-
I3_BASIC_SERIALIZABLE(I3Configuration)¶
- file I3Configuration.h
- #include <string>#include <map>#include <iosfwd>#include <boost/scoped_ptr.hpp>#include <icetray/IcetrayFwd.h>#include <icetray/I3DefaultName.h>#include <icetray/serialization.h>#include <icetray/is_shared_ptr.h>#include <boost/python/extract.hpp>
Functions
-
std::ostream &operator<<(std::ostream&, const I3Configuration&)¶
-
I3_DEFAULT_NAME(I3Configuration)¶
-
I3_POINTER_TYPEDEFS(I3Configuration)¶
-
std::ostream &operator<<(std::ostream&, const I3Configuration&)¶
- file I3ConfigurationImpl.cxx
- #include <icetray/I3Logging.h>#include <icetray/I3ConfigurationImpl.h>#include <I3/name_of.h>#include <icetray/serialization.h>#include <icetray/I3Parameter.h>#include <icetray/Utility.h>#include <boost/preprocessor.hpp>#include <algorithm>#include <cctype>#include <boost/multi_index_container.hpp>#include <boost/multi_index/ordered_index.hpp>#include <boost/python.hpp>#include <boost/python/object.hpp>#include <boost/foreach.hpp>#include <serialization/split_free.hpp>#include <iomanip>
Functions
-
I3_SERIALIZATION_SPLIT_FREE(I3ConfigurationImpl::parameters_t)¶
-
I3_BASIC_SERIALIZABLE(I3ConfigurationImpl)¶
-
ostream &operator<<(ostream &os, const I3ConfigurationImpl &config)¶
-
I3_SERIALIZATION_SPLIT_FREE(I3ConfigurationImpl::parameters_t)¶
- file I3ConfigurationImpl.h
- #include <string>#include <map>#include <set>#include <algorithm>#include <icetray/IcetrayFwd.h>#include <icetray/I3DefaultName.h>#include <icetray/I3Parameter.h>#include <icetray/serialization.h>#include <iosfwd>#include <boost/multi_index_container_fwd.hpp>#include <boost/multi_index/ordered_index_fwd.hpp>#include <boost/multi_index/mem_fun.hpp>
Functions
-
std::ostream &operator<<(std::ostream&, const I3ConfigurationImpl&)¶
-
I3_POINTER_TYPEDEFS(I3ConfigurationImpl)¶
- I3_CLASS_VERSION (I3ConfigurationImpl, 2)
-
std::ostream &operator<<(std::ostream&, const I3ConfigurationImpl&)¶
- file I3Context.cxx
- #include <icetray/I3Module.h>#include <icetray/I3Context.h>
- file I3Context.h
- #include <string>#include <vector>#include <icetray/IcetrayFwd.h>#include <icetray/I3Logging.h>#include <icetray/I3DefaultName.h>#include <icetray/is_shared_ptr.h>#include <I3/name_of.h>#include <I3/hash_map.h>#include <boost/any.hpp>#include <boost/python.hpp>#include <boost/utility/enable_if.hpp>
- file I3DefaultName.h
- #include <boost/shared_ptr.hpp>#include <boost/preprocessor/stringize.hpp>
Defines
-
I3_DEFAULT_NAME(TYPE)¶
-
I3_DEFAULT_NAME(TYPE)¶
- file I3Factory.h
- #include <icetray/Singleton.h>#include <icetray/I3TrayInfo.h>#include <icetray/I3Module.h>#include <icetray/I3Logging.h>#include <boost/function.hpp>#include <map>#include <boost/preprocessor/stringize.hpp>#include <boost/utility.hpp>
Typedefs
- boost::function< boost::shared_ptr< I3Module >const I3Context &)> I3Module_ffn_t
- boost::function< boost::shared_ptr< I3ServiceFactory >const I3Context &)> I3ServiceFactory_ffn_t
-
typedef I3Factory<I3ServiceFactory, I3ServiceFactory_ffn_t> I3ServiceFactoryFactory¶
- file I3FileLogger.cxx
- #include <icetray/I3SimpleLoggers.h>
- file I3Frame.cxx
- #include <algorithm>#include <fstream>#include <boost/iostreams/stream.hpp>#include <boost/iostreams/device/array.hpp>#include <boost/iostreams/device/back_inserter.hpp>#include <boost/iostreams/copy.hpp>#include <boost/iostreams/filtering_stream.hpp>#include <boost/interprocess/streams/bufferstream.hpp>#include <boost/interprocess/streams/vectorstream.hpp>#include <boost/foreach.hpp>#include <boost/regex.hpp>#include <boost/format.hpp>#include <boost/utility/enable_if.hpp>#include <boost/type_traits/is_pod.hpp>#include <icetray/serialization.h>#include <icetray/Utility.h>#include <icetray/I3Frame.h>#include “crc-ccitt.h”
Typedefs
-
typedef char i3frame_tag_t[4]¶
Functions
Variables
-
static const i3frame_tag_t tag = {'[', 'i', '3', ']'}¶
-
static const i3frame_version_t version = 6¶
-
typedef char i3frame_tag_t[4]¶
- file I3Frame.h
- #include <deque>#include <string>#include <vector>#include <I3/hash_map.h>#include <stdint.h>#include <boost/iterator/transform_iterator.hpp>#include <boost/utility/enable_if.hpp>#include <boost/type_traits/is_const.hpp>#include “icetray/serialization.h”#include <icetray/I3DefaultName.h>#include <icetray/I3FrameObject.h>#include <icetray/I3Logging.h>#include <icetray/IcetrayFwd.h>#include <icetray/is_shared_ptr.h>#include <I3/name_of.h>
- file I3FrameMixing.cxx
- #include “icetray/I3FrameMixing.h”#include <boost/make_shared.hpp>
- file I3FrameMixing.h
- #include <boost/optional.hpp>#include “icetray/I3Frame.h”
- file I3FrameObject.cxx
- #include <icetray/serialization.h>#include <icetray/I3FrameObject.h>#include <icetray/Utility.h>#include <cxxabi.h>
- file I3FrameObject.h
- #include <icetray/I3PointerTypedefs.h>
Functions
-
I3_POINTER_TYPEDEFS(I3FrameObject)¶
-
I3_POINTER_TYPEDEFS(I3FrameObject)¶
- file I3IcePick.cxx
- #include <icetray/I3IcePick.h>#include <icetray/I3Bool.h>
- file I3IcePick.h
- #include <icetray/I3Context.h>#include <icetray/I3Configuration.h>#include <icetray/I3ServiceBase.h>#include <icetray/I3Frame.h>#include <boost/python.hpp>
- file I3IcePickInstaller.h
- #include <icetray/I3SingleServiceFactory.h>#include <icetray/I3IcePick.h>
- file I3Int.cxx
- #include <icetray/I3Int.h>
- file I3Int.h
- #include <icetray/I3DefaultName.h>#include <icetray/I3PODHolder.h>
Typedefs
-
typedef I3PODHolder<int> I3Int¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
typedef I3PODHolder<int> I3Int¶
- file I3Logging.cxx
- #include <cstdio>#include <cstdarg>#include “icetray/I3Logging.h”#include “icetray/I3SimpleLoggers.h”
Functions
-
I3LoggerPtr GetIcetrayLogger()¶
-
void SetIcetrayLogger(I3LoggerPtr logger)¶
-
void i3_clogger(I3LogLevel level, const char *unit, const char *file, int line, const char *func, const char *format, ...)¶
Variables
-
static I3LoggerPtr icetray_global_logger¶
-
I3LoggerPtr GetIcetrayLogger()¶
- file I3Logging.h
- #include <signal.h>
Defines
-
I3_LOGGER¶
-
SET_LOGGER(X)¶
-
log_custom(level, format, ...)¶
-
log_custom_unit(level, unit, format, ...)¶
-
log_trace(format, ...)¶
-
log_debug(format, ...)¶
-
log_info(format, ...)¶
-
log_notice(format, ...)¶
-
log_warn(format, ...)¶
-
log_error(format, ...)¶
-
log_fatal(format, ...)¶
-
i3_assert(cond)¶
-
i3_debug_assert(cond)¶
Enums
-
enum I3LogLevel¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Values:
-
enumerator I3LOG_TRACE¶
-
enumerator I3LOG_DEBUG¶
-
enumerator I3LOG_INFO¶
-
enumerator I3LOG_NOTICE¶
-
enumerator I3LOG_WARN¶
-
enumerator I3LOG_ERROR¶
-
enumerator I3LOG_FATAL¶
Functions
- void i3_clogger (I3LogLevel level, const char *unit, const char *file, int line, const char *func, const char *format,...) __attribute__((__format__(__printf__
- SET_LOGGER ("Unknown")
-
I3_LOGGER¶
- file I3Module.cxx
- #include “icetray/I3Module.h”#include <sys/time.h>#include <sys/resource.h>#include <boost/bind.hpp>#include <boost/preprocessor.hpp>#include <boost/foreach.hpp>#include <boost/python.hpp>#include <boost/make_shared.hpp>#include “icetray/I3TrayInfo.h”#include “icetray/I3Context.h”#include “icetray/I3Tray.h”#include “icetray/I3PhysicsUsage.h”#include “icetray/IcetrayFwd.h”#include “icetray/I3Frame.h”#include “icetray/I3FrameMixing.h”#include “icetray/impl.h”
- file I3Module.h
- #include <cstdlib>#include <string>#include <set>#include <icetray/Version.h>#include <icetray/I3Logging.h>#include <icetray/I3Context.h>#include <icetray/I3PointerTypedefs.h>#include <icetray/I3Frame.h>#include <icetray/I3Configuration.h>#include <icetray/I3PhysicsUsage.h>#include <boost/type_traits/is_const.hpp>#include <boost/utility/enable_if.hpp>#include <boost/python/object.hpp>#include <boost/python/extract.hpp>#include <boost/function.hpp>#include <boost/bind.hpp>#include “icetray/I3Factory.h”
- file I3PacketModule.cxx
- #include <icetray/I3PacketModule.h>#include <boost/foreach.hpp>
- file I3PacketModule.h
- #include <icetray/I3Module.h>#include <vector>
- file I3Parameter.cxx
- #include <I3/name_of.h>#include <icetray/I3Parameter.h>#include <icetray/serialization.h>#include <icetray/Utility.h>#include <serialization/optional.hpp>#include <boost/python.hpp>#include <boost/python/extract.hpp>#include <icetray/impl.h>#include <boost/numeric/conversion/cast.hpp>#include <boost/mpl/and.hpp>#include <boost/mpl/logical.hpp>
Functions
-
template<typename Archive>
static void save_python(Archive &ar, boost::optional<boost::python::object> &obj)¶
-
I3_BASIC_SERIALIZABLE(I3Parameter)¶
-
ostream &operator<<(ostream &os, const I3Parameter &pb)¶
-
template<typename Archive>
- file I3Parameter.h
- #include <icetray/IcetrayFwd.h>#include <boost/python/object.hpp>#include <boost/optional.hpp>#include <string>#include <icetray/serialization.h>
Functions
-
std::ostream &operator<<(std::ostream&, const I3Parameter&)¶
-
std::ostream &operator<<(std::ostream&, const I3Parameter&)¶
- file I3PhysicsTimer.cxx
- #include <icetray/serialization.h>#include <icetray/I3PhysicsTimer.h>#include <icetray/I3Units.h>#include <icetray/I3Frame.h>
- file I3PhysicsTimer.h
- #include <sys/time.h>#include <sys/resource.h>#include <string>#include <icetray/I3Frame.h>#include <icetray/I3PointerTypedefs.h>
- file I3PhysicsUsage.cxx
- #include <icetray/I3PhysicsUsage.h>#include <ostream>
Functions
-
std::ostream &operator<<(std::ostream &os, const I3PhysicsUsage &ru)¶
-
std::ostream &operator<<(std::ostream &os, const I3PhysicsUsage &ru)¶
- file I3PhysicsUsage.h
- #include <string>#include <icetray/I3PointerTypedefs.h>
Functions
-
std::ostream &operator<<(std::ostream &os, const I3PhysicsUsage &ru)
-
I3_POINTER_TYPEDEFS(I3PhysicsUsage)¶
-
std::ostream &operator<<(std::ostream &os, const I3PhysicsUsage &ru)
- file I3PODHolder.h
- #include <boost/preprocessor/seq/for_each.hpp>#include <icetray/IcetrayFwd.h>#include <icetray/I3FrameObject.h>#include <icetray/serialization.h>
Defines
-
REGISTER_PODHOLDER_OPERATORS(r, data, OP)¶
$Id$
Copyright (C) 2014 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2014 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
Functions
-
template<typename T>
std::ostream &operator<<(std::ostream &os, const I3PODHolder<T> &t)¶
-
REGISTER_PODHOLDER_OPERATORS(r, data, OP)¶
- file I3PointerTypedefs.h
- #include <boost/shared_ptr.hpp>
Defines
-
I3_POINTER_TYPEDEFS(C)¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3_FORWARD_DECLARATION(C)¶
-
I3_POINTER_TYPEDEFS(C)¶
- file I3PrintfLogger.cxx
- #include <cstdio>#include <icetray/I3Logging.h>#include <icetray/I3SimpleLoggers.h>
- file I3ServiceBase.h
- #include “icetray/I3Context.h”#include “icetray/I3Configuration.h”
- file I3ServiceFactory.cxx
- #include “icetray/I3ServiceFactory.h”
- file I3ServiceFactory.h
- #include <icetray/I3Context.h>#include <icetray/I3Configuration.h>#include <boost/python/object.hpp>#include <boost/python/extract.hpp>#include <string>#include <icetray/I3Factory.h>
Typedefs
-
typedef boost::shared_ptr<I3ServiceFactory> I3ServiceFactoryPtr¶
-
typedef boost::shared_ptr<I3ServiceFactory> I3ServiceFactoryPtr¶
- file I3SimpleLoggers.h
- #include <stdexcept>#include <fstream>#include <icetray/I3Logging.h>
- file I3SingleServiceFactory.h
- #include <icetray/I3ServiceFactory.h>#include <string>
- file I3SyslogLogger.cxx
- #include <syslog.h>#include <cstdio>#include <boost/filesystem/path.hpp>#include “icetray/I3Logging.h”#include “icetray/I3SimpleLoggers.h”
Copyright (C) 2004 the icecube collaboration SPDX-License-Identifier: BSD-2-Clause $Id$
- Version
$Revision$
- Date
$Date$
- Author
tschmidt
- file I3Tray.cxx
- #include <signal.h>#include <string>#include <map>#include <iostream>#include <exception>#include <deque>#include <boost/python.hpp>#include <boost/foreach.hpp>#include <boost/make_shared.hpp>#include <icetray/I3Tray.h>#include <icetray/I3TrayInfoService.h>#include <icetray/I3Module.h>#include <icetray/I3Context.h>#include <icetray/I3Frame.h>#include <icetray/I3PhysicsUsage.h>#include <icetray/serialization.h>#include “PythonFunction.h”#include “FunctionModule.h”
- file I3Tray.h
- #include <signal.h>#include <map>#include <string>#include <exception>#include <functional>#include <iostream>#include <icetray/IcetrayFwd.h>#include <icetray/I3Configuration.h>#include <icetray/I3TrayInfo.h>#include <icetray/I3Module.h>#include <icetray/I3Context.h>#include <icetray/init.h>#include <icetray/is_shared_ptr.h>#include <boost/mpl/or.hpp>#include <boost/utility/enable_if.hpp>#include <boost/utility/result_of.hpp>#include <boost/type_traits/is_base_of.hpp>
- file I3TrayHeaders.h
- #include <icetray/I3Frame.h>#include <icetray/I3Context.h>#include <icetray/I3Logging.h>#include <icetray/I3Configuration.h>#include <icetray/I3DefaultName.h>
- file I3TrayInfo.cxx
- #include <icetray/I3TrayInfo.h>#include <icetray/impl.h>
- file I3TrayInfo.h
- #include <map>#include <string>#include <iostream>#include <sstream>#include <vector>#include <icetray/I3Configuration.h>#include <icetray/I3FrameObject.h>
Functions
-
std::ostream &operator<<(std::ostream &os, const I3TrayInfo &config)¶
-
I3_DEFAULT_NAME(I3TrayInfo)¶
-
I3_POINTER_TYPEDEFS(I3TrayInfo)¶
- I3_CLASS_VERSION (I3TrayInfo, 2)
-
std::ostream &operator<<(std::ostream &os, const I3TrayInfo &config)¶
- file I3TrayInfoService.cxx
- #include <icetray/serialization.h>#include <icetray/I3Logging.h>#include <icetray/I3Tray.h>#include <icetray/I3TrayInfoService.h>#include <icetray/I3TrayInfo.h>#include <icetray/I3Factory.h>#include <sys/types.h>#include <limits.h>#include <unistd.h>#include <pwd.h>#include <time.h>
Functions
-
template<class T>
static std::map<std::string, I3ConfigurationPtr> get_configs(const T &from)¶ $Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
template<class T>
- file I3TrayInfoService.h
- #include <icetray/I3ServiceFactory.h>
- file I3Units.h
- #include <cmath>
- file IcetrayFwd.h
- #include <stdint.h>#include <icetray/I3Logging.h>#include <icetray/I3PointerTypedefs.h>
Functions
-
I3_POINTER_TYPEDEFS(I3Module)
-
I3_POINTER_TYPEDEFS(I3ServiceFactory)¶
-
I3_POINTER_TYPEDEFS(I3Configuration)
-
I3_POINTER_TYPEDEFS(I3Frame)
-
I3_POINTER_TYPEDEFS(I3Module)
- file impl.h
- #include <boost/python.hpp>#include <icetray/I3Logging.h>
Defines
-
i3_log(format, ...)¶
-
i3_log(format, ...)¶
- file indexed_property.hpp
- #include <boost/python/def_visitor.hpp>#include <boost/python/scope.hpp>#include <boost/python/signature.hpp>#include <boost/mpl/at.hpp>#include <boost/mpl/size.hpp>#include <boost/mpl/pop_front.hpp>#include <boost/mpl/less.hpp>#include <boost/mpl/greater.hpp>#include <boost/mpl/begin_end.hpp>#include <boost/mpl/advance.hpp>#include <boost/mpl/push_back.hpp>#include <boost/mpl/vector.hpp>#include <boost/mpl/for_each.hpp>#include <boost/mpl/assert.hpp>#include <boost/type_traits/is_same.hpp>#include “pybindings.hpp”#include <icetray/python/get_class.hpp>
- file init.cxx
- #include <boost/python.hpp>#include <icetray/init.h>
- file init.h
- file IntGenerator.cxx
- #include <icetray/I3Int.h>#include <icetray/I3Module.h>#include <icetray/I3Frame.h>
Functions
-
I3_MODULE(IntGenerator)¶
-
I3_MODULE(IntGenerator)¶
- file is_shared_ptr.h
- #include <boost/mpl/bool.hpp>
- file Keep.cxx
- #include <icetray/modules/Keep.h>#include <boost/algorithm/string.hpp>#include <icetray/I3Context.h>#include <icetray/I3DefaultName.h>
Functions
-
I3_MODULE(Keep)¶
$Id$
Copyright (C) 2007 Dr. Torsten Schmidt hightech-consulting@gmx.de Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3_MODULE(Keep)¶
- file Keep.h
- #include <set>#include <string>#include <vector>#include <icetray/I3Frame.h>#include <icetray/I3Logging.h>#include <icetray/I3ConditionalModule.h>
- file list_indexing_suite.hpp
- #include <boost/python/suite/indexing/indexing_suite.hpp>#include <boost/python/suite/indexing/container_utils.hpp>#include <boost/python/iterator.hpp>#include <boost/next_prior.hpp>#include “pybindings.hpp”#include <icetray/python/get_class.hpp>#include <type_traits>
- file load_project.cxx
- #include <dlfcn.h>#include <string>#include <iostream>#include <iomanip>#include <stdexcept>#include <cstdlib>#include <boost/filesystem.hpp>
Functions
-
void load_icecube_library(const std::string &project_name)¶
Dynamically load an icetray project.
This takes the project_name…and when I say project name, I mean PROJECT NAME…it’s the name of the project, not the library. There’s no ‘.so’ suffix nor is there a ‘lib’ prefix, unless that’s actually part of the project’s name. For example, if the project name is ‘librarians_rock’ then it’s entirely appropriate to look for and load the library called liblibrarians_rock.so (on linux).
-
int load_project(std::string path, bool verbose)¶
This should typically just thunk to ‘load_icecube_library’ but has two functions: 1) Maintain the interface, so no downstream code has to change. 2) Provide functionality for any projects out there that might be constructing their own paths and using this function to dynamically load a (possibly) non-IceCube project.
-
void load_icecube_library(const std::string &project_name)¶
- file load_project.h
- #include <string>
Functions
-
void load_icecube_library(const std::string &project_name)
Dynamically load an icetray project.
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
This takes the project_name…and when I say project name, I mean PROJECT NAME…it’s the name of the project, not the library. There’s no ‘.so’ suffix nor is there a ‘lib’ prefix, unless that’s actually part of the project’s name. For example, if the project name is ‘librarians_rock’ then it’s entirely appropriate to look for and load the library called liblibrarians_rock.so (on linux).
- Parameters:
project_name – The name of the project to be loaded.
- Throws:
std::runtime_error – if loading does not succeed
-
int load_project(std::string project_name, __attribute__((unused)) bool verbose = false)
Dynamically load an icetray project.
- Parameters:
project_name – the name of the project to be loaded. No filename extension should be included, and the ‘lib’ prefix is optional.
verbose – unused
- Throws:
std::runtime_error – if loading does not succeed
- Returns:
0 on success
-
void load_icecube_library(const std::string &project_name)
- file LoggingExampleModule.cxx
- #include <iostream>#include <icetray/I3Module.h>#include <icetray/I3Logging.h>
Functions
-
I3_MODULE(LoggingExampleModule)¶
-
I3_MODULE(LoggingExampleModule)¶
- file MaintainInitialValuesModule.cxx
- #include <icetray/I3Tray.h>#include <icetray/I3Frame.h>#include <icetray/I3Module.h>#include <icetray/OMKey.h>#include <boost/assign/std/vector.hpp>
Functions
-
I3_MODULE(MaintainInitialValuesModule)¶
-
I3_MODULE(MaintainInitialValuesModule)¶
- file ManyStreamsSource.cxx
- #include <icetray/I3Module.h>#include <icetray/I3Frame.h>
Functions
-
I3_MODULE(ManyStreamsSource)¶
-
I3_MODULE(ManyStreamsSource)¶
- file memory.cxx
- #include <string>#include “icetray/memory.h”
- file memory.h
- #include <string>
- file name_of.cxx
- #include <icetray/name_of.h>#include <cxxabi.h>#include <boost/thread/locks.hpp>#include <boost/thread/mutex.hpp>#include <I3/hash_map.h>#include <icetray/Utility.h>
- file name_of.h
- #include <string>#include <typeinfo>
- file OMKey.cxx
- #include <icetray/serialization.h>#include <icetray/OMKey.h>#include <sstream>#include <icetray/I3FrameObject.h>#include <boost/regex.hpp>#include <boost/lexical_cast.hpp>
- file OMKey.h
- #include <utility>#include “Utility.h”#include <iostream>#include <icetray/IcetrayFwd.h>#include <icetray/serialization.h>
Functions
-
I3_CLASS_VERSION(OMKey, omkey_version_)¶
-
inline bool operator<(const OMKey &lhs, const OMKey &rhs)¶
comparison operator. First compares the string numbers, then compares the om numbers. Required to put OMKeys as the key of a map
Variables
-
static const unsigned omkey_version_ = 2¶
$Id$
Copyright (C) 2003-2007 The IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3_CLASS_VERSION(OMKey, omkey_version_)¶
- file open.cxx
- #include <string>#include <boost/iostreams/filtering_stream.hpp>#include <boost/iostreams/filter/gzip.hpp>#include <boost/iostreams/filter/bzip2.hpp>#include <boost/iostreams/constants.hpp>#include <boost/iostreams/categories.hpp>#include <boost/iostreams/device/file.hpp>#include <boost/iostreams/device/file_descriptor.hpp>#include <boost/algorithm/string.hpp>#include <icetray/I3Logging.h>#include <icetray/counter64.hpp>#include “http_source.hpp”#include “socket_source.hpp”
- file open.h
- #include <string>#include <boost/iostreams/filtering_stream.hpp>
- file operator_suite.hpp
- #include <boost/preprocessor/cat.hpp>#include <boost/python/def_visitor.hpp>#include <boost/python/operators.hpp>#include <boost/utility/enable_if.hpp>#include <boost/type_traits/is_enum.hpp>#include <boost/mpl/if.hpp>#include <boost/mpl/not.hpp>#include <boost/mpl/or.hpp>#include <boost/mpl/and.hpp>#include “pybindings.hpp”
- file ostream_pair.hpp
- #include <iostream>
- file PhysicsBuffer.cxx
- #include <icetray/modules/PhysicsBuffer.h>#include <icetray/Utility.h>
Functions
-
I3_MODULE(PhysicsBuffer)¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
I3_MODULE(PhysicsBuffer)¶
- file PhysicsBuffer.h
- #include <icetray/I3Module.h>#include <string>#include <deque>
- file PythonFunction.cxx
- #include “PythonFunction.h”
- file PythonFunction.h
- #include <iostream>#include <set>#include <icetray/I3Context.h>#include <icetray/I3Frame.h>#include <icetray/I3ConditionalModule.h>#include <icetray/impl.h>#include <boost/python.hpp>#include <boost/python/raw_function.hpp>
- file PythonModule.cxx
- #include <vector>#include <icetray/I3Module.h>#include <icetray/I3ConditionalModule.h>#include <icetray/I3PacketModule.h>#include <icetray/I3Logging.h>#include <icetray/I3TrayHeaders.h>#include <icetray/OMKey.h>#include <icetray/PythonModule.h>#include <icetray/impl.h>#include <boost/python/import.hpp>
- file PythonModule.h
- #include <vector>#include <icetray/I3Module.h>#include <icetray/I3Logging.h>#include <icetray/I3TrayHeaders.h>#include <icetray/OMKey.h>#include <boost/python.hpp>
- file Rename.cxx
- #include <boost/regex.hpp>#include <icetray/I3Tray.h>#include <icetray/I3TrayInfo.h>#include <icetray/I3TrayInfoService.h>#include <icetray/Utility.h>#include <icetray/modules/Rename.h>
- file Rename.h
- #include <fstream>#include <string>#include <set>#include <icetray/I3ConditionalModule.h>#include <icetray/I3TrayHeaders.h>#include <icetray/I3Logging.h>
- file scratch.cxx
- #include <icetray/scratch.h>#include <icetray/I3Logging.h>#include <cstdlib>#include <cstring>#include <sys/errno.h>#include <sys/stat.h>#include <unistd.h>#include <pwd.h>#include <sys/param.h>
- file scratch.h
- #include <string>
- file serialization.h
- #include <boost/version.hpp>#include <icetray/i3_extended_type_info.h>#include <archive/xml_iarchive.hpp>#include <archive/xml_oarchive.hpp>#include <archive/portable_binary_archive.hpp>#include <serialization/serialization.hpp>#include <serialization/nvp.hpp>#include <serialization/base_object.hpp>#include <serialization/access.hpp>#include <serialization/export.hpp>#include <serialization/vector.hpp>#include <serialization/string.hpp>#include <serialization/map.hpp>#include <serialization/shared_ptr.hpp>#include <serialization/utility.hpp>#include <serialization/split_member.hpp>#include <serialization/version.hpp>#include <icetray/is_shared_ptr.h>#include <boost/utility/enable_if.hpp>#include <sstream>
- file Singleton.h
- #include <cassert>#include <boost/noncopyable.hpp>#include <serialization/force_include.hpp>
- file socket_source.hpp
- #include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <boost/iostreams/device/file_descriptor.hpp>#include <boost/version.hpp>
- file std_map_indexing_suite.hpp
- #include <boost/python/suite/indexing/indexing_suite.hpp>#include <boost/python/iterator.hpp>#include <boost/python/call_method.hpp>#include <boost/python/tuple.hpp>#include <boost/python/overloads.hpp>#include <boost/iterator/transform_iterator.hpp>#include <icetray/python/get_class.hpp>
- file std_vector_indexing_suite.hpp
- file stream_to_string.hpp
- #include <sstream>
- file TrashCan.cxx
- #include <icetray/I3Module.h>#include <icetray/I3Logging.h>
- file tree_indexing_suite.hpp
- #include <boost/python/iterator.hpp>#include <boost/python/call_method.hpp>#include <boost/python/tuple.hpp>#include <boost/python/object/iterator_core.hpp>#include <boost/mpl/vector.hpp>#include <boost/mpl/deref.hpp>#include <boost/mpl/assert.hpp>#include <boost/mpl/begin_end.hpp>#include <boost/mpl/next_prior.hpp>#include <boost/mpl/at.hpp>#include <boost/mpl/insert.hpp>#include <boost/mpl/erase.hpp>#include <boost/mpl/replace.hpp>#include <icetray/python/get_class.hpp>
- file Utility.cxx
- #include <icetray/Utility.h>#include <vector>#include <boost/regex.hpp>#include <glob.h>
Functions
-
string stlfilt(const string &what)¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
string stlfilt(const string &what)¶
- file Utility.h
- #include <string>#include <vector>#include <set>#include <iostream>#include <sstream>
Functions
-
std::string stlfilt(const std::string &s)¶
$Id$
Copyright (C) 2007 Troy D. Straszheim troy@icecube.umd.edu Copyright (C) 2007 the IceCube Collaboration http://www.icecube.wisc.edu
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SPDX-License-Identifier: BSD-2-Clause
-
std::string stlfilt(const std::string &s)¶
- file Version.h
Defines
-
ICETRAY_VERSION¶
-
ICETRAY_VERSION¶
- file zstd_filter.hpp
- #include <boost/iostreams/filtering_stream.hpp>#include <zstd.h>#include <algorithm>
- page todo
- Member icetray::detail::TypenameCache::GetName (const std::type_info &ti)
Use a multiple-reader / single-write model. Does it work, if mixing boost threads and ZThread?
- dir icetray
- dir icetray
- dir icetray
- dir icetray
- dir modules
- dir modules
- dir open
- dir private
- dir public
- dir python