trigger-splitter C++ API Reference

class I3SimSplitter : public I3Module, private I3Splitter

Public Functions

I3SimSplitter(const I3Context &context)
void Configure()
void DAQ(I3FramePtr frame)

Private Members

std::string trigHierName_
std::string mcpesName_
bool avoidPartial_
class I3TriggerSplitter : public I3Module, private I3Splitter

copyright (c) 2011 the IceCube Collaboration $Id$

Date

Rcs

2011-10-22

Author

naoko

Public Functions

I3TriggerSplitter(const I3Context &context)
void Configure()
void DAQ(I3FramePtr frame)
void Calibration(I3FramePtr frame)
void DetectorStatus(I3FramePtr frame)

Private Types

typedef std::map<OMKey, double> offset_map_t

Private Functions

void CalcLaunchDTs()
double GetLaunchDT(const I3DOMCalibration &calib, const I3DOMStatus &status)

Private Members

std::vector<std::string> inputResponses_
std::vector<std::string> outputResponses_
std::string trigHierName_
std::vector<int> configIDs_
double noSplitDt_
double tWindowMinus_
double tWindowPlus_
bool writeFrameTimes_
bool writeTimeWindow_
std::string updateTrigHierarchy_
double updateTrigHierarchyMode_
I3CalibrationConstPtr calibration_
I3DetectorStatusConstPtr status_
bool useCDinfoForDt_
offset_map_t offsets_
double min_offset_
double max_offset_
class SubTrigger

Public Functions

inline SubTrigger(double start, double end, offset_map_t *offsets, double min_offset, double max_offset)
bool operator()(const OMKey &key, size_t idx, const I3RecoPulse &pulse)
void MaskPulses(I3FramePtr frame, const std::string &inputName, const std::string &outputName)
void UpdateHeader(I3FramePtr frame)
void UpdateTriggers(I3FramePtr frame, I3TriggerHierarchyConstPtr trigHier, const std::vector<int> &configIDs, std::pair<double, double> twindow)
void WriteTimeWindow(I3FramePtr frame)

Private Members

double start_time_
double end_time_
offset_map_t *offsets_
double min_offset_
double max_offset_
OMKey current_key_
double current_offset_
struct Trigs

Public Functions

inline bool operator<(const Trigs &other) const

Public Members

double time
double length
namespace SimSplitterUtils

Functions

void SplitFrameObjects(I3FramePtr frame, I3FramePtr new_frame, double start_time, double stop_time, const std::vector<std::string> &skip_keys)
namespace std

STL namespace.

file I3SimSplitter.cxx
#include <icetray/I3Module.h>
#include <icetray/I3Context.h>
#include <icetray/I3Frame.h>
#include <icetray/I3Logging.h>
#include <boost/foreach.hpp>
#include <boost/make_shared.hpp>
#include <boost/assign.hpp>
#include <icetray/I3Units.h>
#include <dataclasses/physics/I3EventHeader.h>
#include <dataclasses/physics/I3Trigger.h>
#include <dataclasses/physics/I3TriggerHierarchy.h>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/status/I3DetectorStatus.h>
#include <phys-services/I3Splitter.h>
#include <algorithm>
#include <vector>
#include <string>
#include <cfloat>

Defines

I3SIMSPLITTER_H

copyright (c) 2011 the IceCube Collaboration

Rcs

I3SimSplitter.cxx 148817 2016-07-27 23:01:50Z olivas

Date

Rcs

2011-10-22

Author

naoko

Functions

bool sort_hierarchies(I3TriggerHierarchyPtr i, I3TriggerHierarchyPtr j)
I3_MODULE(I3SimSplitter)
file I3TriggerSplitter.cxx
#include <icetray/I3Module.h>
#include <icetray/I3Context.h>
#include <icetray/I3Frame.h>
#include <icetray/I3Logging.h>
#include <boost/foreach.hpp>
#include <boost/make_shared.hpp>
#include <boost/assign.hpp>
#include <icetray/I3Units.h>
#include <dataclasses/I3Double.h>
#include <dataclasses/I3Map.h>
#include <dataclasses/I3TimeWindow.h>
#include <dataclasses/I3MapOMKeyMask.h>
#include <dataclasses/TriggerKey.h>
#include <dataclasses/physics/I3EventHeader.h>
#include <dataclasses/physics/I3Trigger.h>
#include <dataclasses/physics/I3TriggerHierarchy.h>
#include <dataclasses/physics/I3DOMLaunch.h>
#include <dataclasses/physics/I3RecoPulse.h>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/status/I3DetectorStatus.h>
#include <phys-services/I3Splitter.h>
#include <algorithm>
#include <vector>
#include <string>
#include <cfloat>

Functions

I3_MODULE(I3TriggerSplitter)
file SimSplitterUtils.cxx

Functions

std::pair<double, double> GetTimeRange(I3MCPESeriesMapConstPtr inputHitMap)

Reads the hit map to find the time of the first and last hits. There may be a faster way to do this, but this was taken from noise-generator.

Parameters:

inputHitMap – The I3MCPESeriesMapConstPtr to check.

Returns:

A std::pair constaining the [first, last] hit times from the map.

I3MCTreePtr Split(I3MCTreeConstPtr tree, double start_time, double stop_time)
I3MMCTrackListPtr Split(I3MMCTrackListConstPtr tracks, double start_time, double stop_time)
I3DOMLaunchSeriesMapPtr Split(I3DOMLaunchSeriesMapConstPtr launches, double start_time, double stop_time)
I3RecoPulseSeriesMapPtr Split(I3RecoPulseSeriesMapConstPtr pulses, double start_time, double stop_time)
I3VectorI3TriggerPtr Split(I3VectorI3TriggerConstPtr triggers, double start_time, double stop_time)
I3FlasherInfoVectPtr Split(I3FlasherInfoVectConstPtr oldflasher, double start_time, double stop_time)
I3MCHitSeriesMapPtr Split(I3MCHitSeriesMapConstPtr map, double start_time, double stop_time)
I3MCPESeriesMapPtr Split(I3MCPESeriesMapConstPtr map, double start_time, double stop_time)
I3MCPulseSeriesMapPtr Split(I3MCPulseSeriesMapConstPtr map, double start_time, double stop_time)
I3VectorI3ParticlePtr Split(I3VectorI3ParticleConstPtr vect, double start_time, double stop_time)
template<class T>
bool SplitInFrame(I3FramePtr frame, I3FramePtr new_frame, const std::string &key, double start_time, double stop_time)
file SimSplitterUtils.h
#include <algorithm>
#include <vector>
#include <boost/foreach.hpp>
#include <icetray/I3Frame.h>
#include <dataclasses/physics/I3MCHit.h>
#include “dataclasses/physics/I3MCTree.h”
#include “simclasses/I3MMCTrack.h”
#include “dataclasses/physics/I3Trigger.h”
#include “dataclasses/physics/I3TriggerHierarchy.h”
#include “dataclasses/physics/I3DOMLaunch.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/physics/I3FlasherInfo.h”
#include “simclasses/I3MCPE.h”
#include “simclasses/I3MCPulse.h”
#include <icetray/I3PointerTypedefs.h>

Functions

I3_FORWARD_DECLARATION(I3Frame)
std::pair<double, double> GetTimeRange(I3MCPESeriesMapConstPtr inputHitMap)

Reads the hit map to find the time of the first and last hits. There may be a faster way to do this, but this was taken from noise-generator.

Parameters:

inputHitMap – The I3MCPESeriesMapConstPtr to check.

Returns:

A std::pair constaining the [first, last] hit times from the map.

I3MCTreePtr Split(I3MCTreeConstPtr tree, double start_time, double stop_time)
I3MMCTrackListPtr Split(I3MMCTrackListConstPtr tracks, double start_time, double stop_time)
I3DOMLaunchSeriesMapPtr Split(I3DOMLaunchSeriesMapConstPtr launches, double start_time, double stop_time)
I3RecoPulseSeriesMapPtr Split(I3RecoPulseSeriesMapConstPtr pulses, double start_time, double stop_time)
I3VectorI3TriggerPtr Split(I3VectorI3TriggerConstPtr triggers, double start_time, double stop_time)
I3ParticlePtr Split(I3ParticleConstPtr i3particle, double start_time, double stop_time)
I3FlasherInfoVectPtr Split(I3FlasherInfoVectConstPtr oldflasher, double start_time, double stop_time)
I3MCHitSeriesMapPtr Split(I3MCHitSeriesMapConstPtr map, double start_time, double stop_time)
I3MCPESeriesMapPtr Split(I3MCPESeriesMapConstPtr map, double start_time, double stop_time)
I3MCPulseSeriesMapPtr Split(I3MCPulseSeriesMapConstPtr map, double start_time, double stop_time)
I3VectorI3ParticlePtr Split(I3VectorI3ParticleConstPtr vect, double start_time, double stop_time)
template<class T>
bool SplitInFrame(I3FramePtr frame, I3FramePtr new_frame, const std::string &key, double start_time, double stop_time)
dir icetray
dir private
dir public
dir trigger-splitter
dir trigger-splitter
dir trigger-splitter