tpx C++ API Reference

struct I3IceTopBaseline

Public Types

typedef ::I3IceTopBaseline booked_type

Public Functions

void AddFields(I3TableRowDescriptionPtr desc, const booked_type& = booked_type())
void FillSingleRow(const booked_type &dl, I3TableRowPtr row)
struct I3IceTopBaseline
#include <I3IceTopBaseline.h>

I3IceTopBaseline stores information about the IceTop-style baseline of a waveform. These parameters are calculated by I3IceTopBaselineModule.

Public Functions

I3IceTopBaseline()
I3IceTopBaseline(I3Waveform::Source source_, uint8_t channel_, uint8_t sourceID_)
inline I3IceTopBaseline(I3Waveform::Source source_, uint8_t channel_, uint8_t sourceID_, float baseline_, float slope_, float rms_)
inline bool operator==(const I3IceTopBaseline &rhs) const

Public Members

I3Waveform::Source source

Waveform source (ATWD or FADC)

uint8_t channel

ATWD channel, undefined in case of FADC.

uint8_t sourceID

ATWD chip ID, undefined in case of FADC.

float baseline

Average baseline (voltage)

float slope

Baseline slope (voltage/time)

float rms

Variation of waveform baseline (voltage)

Private Functions

template<class Archive>
void serialize(Archive &ar, unsigned version)

Friends

friend class icecube::serialization::access
class I3IceTopBaselineModule : public I3ConditionalModule

Public Functions

inline I3IceTopBaselineModule(const I3Context &ctx)
void Configure()
void DAQ(I3FramePtr frame)

Private Functions

I3IceTopBaseline calculateBaseline(const I3Waveform &waveform)
SET_LOGGER ("I3IceTopBaselineModule")

Private Members

std::string waveformsName_
std::vector<int> baselineRange_
I3Waveform::Source source_
std::string outputName_
class I3IceTopSLCCalibrator_fromCframe : public I3ConditionalModule

Public Functions

inline I3IceTopSLCCalibrator_fromCframe(const I3Context &context)
inline void Configure() override
inline virtual void DAQ(boost::shared_ptr<I3Frame> frame) override

Private Functions

SET_LOGGER ("I3IceTopSLCCalibrator")

Private Members

std::string slc_name

Name of the input pulses to calibrate.

std::string slc_name_out

Name of the output, calibrarted pulses.

std::string waveforms_name

Name of waveforms from which input pulses were extracted.

std::string Cframeobject_name

Name of the C-frame frame object with all the calibration constants in it.

std::string Dframeobject_name

Name of the D-frame frame object with all the crossovers in it.

bool pulsesAreVEM

Are the input pulses already VEMcalibrated?

class I3TopHLCPulseExtractor : public I3ConditionalModule

Public Functions

inline I3TopHLCPulseExtractor(const I3Context &ctx)
void Configure()
void DetectorStatus(I3FramePtr frame)
void DAQ(I3FramePtr frame)

Private Functions

void ExtractPEPulses(const I3WaveformSeriesMapConstPtr &waveforms, const I3OMGeoMap &geometry, const I3DOMCalibrationMap &calibration, const I3DOMStatusMap &status, I3RecoPulseSeriesMapPtr pulses, I3TopPulseInfoSeriesMapPtr pulseInfos)
I3RecoPulseSeriesMapPtr CalibrateVEMPulses(const I3RecoPulseSeriesMapConstPtr &pePulses, const I3VEMCalibrationMap &calibration)
void EvaluateHLCWaveform(const OMKey &omKey, const I3Waveform &wf, double feImpedance, double speMean, I3RecoPulse &pulse, I3TopPulseInfo &pulseInfo)

Private Members

std::string inputWaveformsName_

Name of the input I3WaveformSeriesMap from which to extract pulses.

std::string pePulsesName_

Name of the output I3RecoPulseSeriesMap in units of PE’s.

std::string vemPulsesName_

Name of the output I3RecoPulseSeriesMap converted to units of VEM.

std::string pulseInfoName_

Name of the I3TopPulseInfoSeriesMap to store extra information in.

double tmin_

Minimum leading edge time.

std::string badDOMListName_

Name of the BadDomList in the frame.

I3VectorOMKeyConstPtr badDOMList_

Vector of OMKeys of bad DOM’s to ignore.

struct I3TopPulseInfo

Public Types

typedef ::I3TopPulseInfo booked_type

Public Functions

void AddFields(I3TableRowDescriptionPtr desc, const booked_type& = booked_type())
void FillSingleRow(const booked_type &pulseInfo, I3TableRowPtr row)
class I3TopPulseInfo
#include <I3TopPulseInfo.h>

A class that has all toppulseinfoParams that can be useful to describe IT waveforms

Public Types

enum Status

Values:

enumerator OK
enumerator Saturated
enumerator BadCharge
enumerator BadTime

Public Functions

I3TopPulseInfo()
I3TopPulseInfo(double ampl, double riset, double trailing, Status itPulseStatus = OK)
virtual ~I3TopPulseInfo()
std::ostream &Print(std::ostream&) const

Public Members

double amplitude

amplitude of the IceTop waveform (voltage)

double risetime

Risetime of the first peak IceTop waveform.

double trailingEdge

Trailing Edge of the IceTop waveform.

Status status

More status info about the IceTop waveform (can be: OK, Saturated, BadCharge, BadTime)

uint8_t channel

ATWD channel.

uint8_t sourceID

ATWD chip ID, from I3Waveform::GetSourceIndex()

Private Functions

template<class Archive>
void serialize(Archive &ar, unsigned version)

Friends

friend class icecube::serialization::access
class I3TopSLCPulseExtractor : public I3ConditionalModule

Public Functions

I3TopSLCPulseExtractor(const I3Context &ctx)
virtual void Configure()
virtual void DetectorStatus(I3FramePtr frame)
virtual void DAQ(I3FramePtr frame)

Protected Functions

I3RecoPulseSeriesPtr PECalibration(const OMKey &omKey, const I3WaveformSeries &waveforms, const I3DOMStatus *domStatus, const I3DOMCalibration *domCalib)
I3RecoPulseSeriesPtr VEMCalibration(const OMKey &omKey, const I3RecoPulseSeries &pulses, const I3VEMCalibration *vemCalib)

Private Members

std::string inputWaveformsName_

Name of the input I3WaveformSeriesMap from which to extract pulses.

std::string pePulsesName_

Name of the output I3RecoPulseSeriesMap in units of PE’s.

std::string vemPulsesName_

Name of the output I3RecoPulseSeriesMap converted to units of VEM.

std::string badDOMListName_

Name of the BadDomList in the frame.

I3VectorOMKeyConstPtr badDOMList_

Vector of OMKeys of bad DOM’s to ignore.

class I3VEMConverter : public I3ConditionalModule

Public Functions

inline I3VEMConverter(const I3Context &ctx)
void Configure()
inline void DAQ(I3FramePtr frame)
inline void Physics(I3FramePtr frame)

Private Functions

void DoTheVEMConvert(I3FramePtr frame)
SET_LOGGER ("I3VEMConverter")

Private Members

I3Frame::Stream stream_
std::string pePulsesName_
std::string vemPulsesName_
union packed_waveform_source_information

Public Members

uint8_t slop
uint8_t id
uint8_t channel
uint8_t source
struct packed_waveform_source_information::[anonymous] fields
uint8_t bits
namespace convert
namespace std

STL namespace.

namespace tpx

Functions

double GetSPEPeakCharge(const I3DOMStatus *domStatus, const I3DOMCalibration *domCalib)
int8_t GetChannel(const I3Waveform &wf)
SET_LOGGER ("tpx")
template<typename T>
const T *get_dom_info(OMKey omKey, const std::map<OMKey, T> &m)
namespace detail_

Functions

template<typename T>
void warn_missing(const OMKey &omKey)
file convert_I3IceTopBaseline.cxx
#include <icetray/I3Units.h>
#include <tableio/converter/I3MapConverter.h>
file convert_I3IceTopBaseline.h
#include <tableio/I3TableRowDescription.h>
#include <tableio/I3TableRow.h>
file I3IceTopBaseline.cxx
#include “tpx/I3IceTopBaseline.h
#include <icetray/I3Units.h>
#include <cassert>
#include <cmath>

Functions

union packed_waveform_source_information __attribute ((packed))
I3_SERIALIZABLE(I3IceTopBaseline)
I3_SERIALIZABLE(I3IceTopBaselineSeriesMap)
std::ostream &operator<<(std::ostream &stream, const I3IceTopBaseline &bl)

Variables

uint8_t slop
uint8_t id
uint8_t channel
uint8_t source
struct [anonymous] fields
uint8_t bits
file I3IceTopBaseline.h
#include <dataclasses/physics/I3Waveform.h>
#include <ostream>

Typedefs

typedef std::vector<I3IceTopBaseline> I3IceTopBaselineSeries
typedef I3Map<OMKey, I3IceTopBaselineSeries> I3IceTopBaselineSeriesMap

Functions

std::ostream &operator<<(std::ostream &stream, const I3IceTopBaseline &bl)
I3_CLASS_VERSION(I3IceTopBaseline, i3icetopbaseline_version_)
I3_POINTER_TYPEDEFS(I3IceTopBaselineSeriesMap)

Variables

static const unsigned i3icetopbaseline_version_ = 0
file I3IceTopBaselineModule.cxx
#include “utility.h
#include “tpx/I3IceTopBaseline.h
#include <icetray/I3ConditionalModule.h>
#include <icetray/I3Units.h>
#include <dataclasses/physics/I3Waveform.h>
#include <boost/foreach.hpp>
#include <cassert>
#include <cmath>
#include <string>
#include <sstream>
#include <vector>

Functions

I3_MODULE(I3IceTopBaselineModule)
file I3IceTopSLCCalibrator_fromCframe.cxx
#include “utility.h
#include <icetray/I3ConditionalModule.h>
#include <dataclasses/calibration/I3IceTopSLCCalibration.h>
#include <dataclasses/physics/I3RecoPulse.h>
#include <dataclasses/physics/I3Waveform.h>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/I3Vector.h>
#include <dataclasses/I3Map.h>
file I3TopHLCPulseExtractor.cxx
#include “utility.h
#include <icetray/I3ConditionalModule.h>
#include <icetray/I3Frame.h>
#include <icetray/I3Logging.h>
#include <icetray/I3Units.h>
#include <icetray/OMKey.h>
#include <dataclasses/geometry/I3Geometry.h>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/status/I3DetectorStatus.h>
#include <dataclasses/physics/I3RecoPulse.h>
#include <dataclasses/physics/I3Waveform.h>
#include <dataclasses/I3DOMFunctions.h>
#include <dataclasses/TankKey.h>
#include “tpx/I3TopPulseInfo.h
#include <boost/foreach.hpp>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <map>
#include <set>
#include <string>
#include <vector>
file I3TopPulseInfo.cxx
#include <icetray/serialization.h>
#include “tpx/I3TopPulseInfo.h

Functions

bool operator==(const I3TopPulseInfo &lhs, const I3TopPulseInfo &rhs)
I3_SERIALIZABLE(I3TopPulseInfo)
I3_SERIALIZABLE(I3TopPulseInfoSeriesMap)
I3_SERIALIZABLE(I3TopPulseInfoMap)
std::ostream &operator<<(std::ostream &os, const I3TopPulseInfo &in)
file I3TopPulseInfo.h
#include “dataclasses/I3Vector.h”
#include “dataclasses/Utility.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <vector>

Defines

I3TOPPULSEINFO_H_I3TopPulseInfo_Status

Typedefs

typedef std::vector<I3TopPulseInfo> I3TopPulseInfoSeries
typedef I3Map<OMKey, I3TopPulseInfoSeries> I3TopPulseInfoSeriesMap
typedef I3Map<OMKey, I3TopPulseInfo> I3TopPulseInfoMap

Functions

std::ostream &operator<<(std::ostream&, const I3TopPulseInfo&)
bool operator==(const I3TopPulseInfo &lhs, const I3TopPulseInfo &rhs)
I3_POINTER_TYPEDEFS(I3TopPulseInfo)
I3_CLASS_VERSION(I3TopPulseInfo, i3toppulseinfo_version_)
I3_POINTER_TYPEDEFS(I3TopPulseInfoSeries)
I3_POINTER_TYPEDEFS(I3TopPulseInfoSeriesMap)
I3_POINTER_TYPEDEFS(I3TopPulseInfoMap)

Variables

static const unsigned i3toppulseinfo_version_ = 1
file I3TopPulseInfoConverter.cxx
#include <tableio/I3TableRow.h>
#include <tableio/I3TableRowDescription.h>
#include <icetray/I3Units.h>
file I3TopPulseInfoConverter.h

Functions

I3_FORWARD_DECLARATION(I3TableRowDescription)
I3_FORWARD_DECLARATION(I3TableRow)
file I3TopSLCPulseExtractor.cxx
#include “utility.h
#include <algorithm>
#include <string>
#include <boost/foreach.hpp>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/calibration/I3DOMCalibration.h>
#include <dataclasses/calibration/I3VEMCalibration.h>
#include <dataclasses/physics/I3RecoPulse.h>
#include <dataclasses/physics/I3Waveform.h>
#include <dataclasses/status/I3DetectorStatus.h>
#include <dataclasses/status/I3DOMStatus.h>
#include <icetray/I3ConditionalModule.h>
#include <icetray/I3Context.h>
#include <icetray/I3Frame.h>
#include <icetray/I3Logging.h>
#include <icetray/OMKey.h>
file I3VEMConverter.cxx
#include “utility.h
#include <icetray/I3ConditionalModule.h>
#include <icetray/I3Frame.h>
#include <icetray/OMKey.h>
#include <icetray/I3Units.h>
#include <dataclasses/calibration/I3Calibration.h>
#include <dataclasses/physics/I3RecoPulse.h>
#include <boost/foreach.hpp>
#include <string>

Functions

I3_MODULE(I3VEMConverter)
file utility.cxx
#include “utility.h
#include <icetray/I3Units.h>
#include <dataclasses/I3DOMFunctions.h>
#include <dataclasses/calibration/I3DOMCalibration.h>
#include <dataclasses/status/I3DOMStatus.h>
#include <dataclasses/physics/I3Waveform.h>
#include <cmath>
#include <string>
file utility.h
#include <icetray/name_of.h>
#include <icetray/OMKey.h>
#include <icetray/I3Logging.h>
#include <dataclasses/I3Vector.h>
#include <boost/shared_ptr.hpp>
#include <set>
dir converter
dir icetray
dir private
dir public
dir tpx
dir tpx
dir tpx