VHESelfVeto C++ API Reference¶
-
class BadStringRemover : public I3PacketModule¶
-
class Clipper : public virtual ClipperLib::ClipperBase¶
- #include <clipper.h>
Public Functions
-
Clipper()¶
-
~Clipper()¶
-
bool Execute(ClipType clipType, Polygons &solution, PolyFillType subjFillType = pftEvenOdd, PolyFillType clipFillType = pftEvenOdd)¶
-
bool Execute(ClipType clipType, ExPolygons &solution, PolyFillType subjFillType = pftEvenOdd, PolyFillType clipFillType = pftEvenOdd)¶
-
virtual void Clear()¶
-
inline bool ReverseSolution()¶
-
inline void ReverseSolution(bool value)¶
Private Functions
-
void DisposeScanbeamList()¶
-
void CopyAELToSEL()¶
-
void ProcessHorizontals()¶
-
void IntersectEdges(TEdge *e1, TEdge *e2, const IntPoint &pt, IntersectProtects protects)¶
-
void DisposeAllPolyPts()¶
-
void DisposeOutRec(PolyOutList::size_type index)¶
-
void ProcessIntersectList()¶
-
void BuildResultEx(ExPolygons &polys)¶
-
void DisposeIntersectNodes()¶
-
bool FixupIntersections()¶
-
void ClearJoins()¶
-
void ClearHorzJoins()¶
-
void JoinCommonEdges(bool fixHoleLinkages)¶
Private Members
-
PolyOutList m_PolyOuts¶
-
HorzJoinList m_HorizJoins¶
-
IntersectNode *m_IntersectNodes¶
-
bool m_ExecuteLocked¶
-
PolyFillType m_ClipFillType¶
-
PolyFillType m_SubjFillType¶
-
bool m_ReverseOutput¶
-
Clipper()¶
-
class ClipperBase¶
- #include <clipper.h>
Subclassed by ClipperLib::Clipper
Protected Functions
-
void DisposeLocalMinimaList()¶
-
void PopLocalMinima()¶
-
virtual void Reset()¶
-
void InsertLocalMinima(LocalMinima *newLm)¶
-
void DisposeLocalMinimaList()¶
-
class DetectorShrinker : public I3PacketModule¶
-
class FiducialVolumeEntryPointFinder : public I3ConditionalModule¶
-
class HomogenizedQTot : public I3ConditionalModule¶
-
class LayerVeto : public I3ConditionalModule¶
Public Functions
-
void Configure()¶
-
void Physics(I3FramePtr)¶
-
void Geometry(I3FramePtr)¶
-
void Calibration(I3FramePtr)¶
-
void DetectorStatus(I3FramePtr)¶
Private Functions
-
double GetVetoCharge(const I3RecoPulseSeriesMap&, std::vector<I3RecoPulseSeriesMap>&, double&)¶
-
void ConstructVetoLayers()¶
-
void Configure()¶
-
class PolyOffsetBuilder¶
Public Functions
Private Functions
-
inline void DoSquare(double mul = 1.0)¶
-
inline void DoMiter()¶
-
inline void DoRound()¶
Private Members
-
std::vector<DoublePoint> normals¶
-
double m_delta¶
-
double m_RMin¶
-
double m_R¶
-
size_t m_i¶
-
size_t m_j¶
-
size_t m_k¶
Private Static Attributes
-
static const int buffLength = 128¶
-
inline void DoSquare(double mul = 1.0)¶
-
struct reducedgeo_t¶
- #include <VHESelfVetoUtils.h>
A representation of the boundary of the detector geometry as an extruded polygon, aligned with the z-axis.
Public Members
-
double maxz¶
The top of the extruded polygon.
-
double minz¶
The bottom of the extruded polygon.
-
std::vector<std::pair<double, double>> polygon¶
The ordered collection of x,y coordinate pairs which define the horizontal boundary polygon.
-
double topBoundaryWidth¶
The distance by which a point must be beneath maxz to be considered inside the detector.
-
double bottomBoundaryWidth¶
The distance by which a point must be above minz to be considered inside the detector.
-
double sideBoundaryWidth¶
The distance by which a point must be inside the polygon to be considered inside the detector.
-
double maxz¶
-
class TauGeneratesMuon : public I3ConditionalModule¶
-
class VertexInFiducialVolume : public I3ConditionalModule¶
Public Functions
-
void Configure()¶
-
void Physics(I3FramePtr frame)¶
-
void Geometry(I3FramePtr frame)¶
-
inline void DetectorStatus(I3FramePtr frame)¶
Private Functions
-
bool IsPositionBad(const I3Position &position)¶
Private Members
-
double topBoundaryWidth_¶
-
double bottomBoundaryWidth_¶
-
double sideBoundaryWidth_¶
-
double dustLayer_¶
-
double dustLayerWidth_¶
-
VHESelfVetoUtils::reducedgeo_t reducedgeo_¶
-
I3GeometryConstPtr geo_¶
-
void Configure()¶
-
class VHESelfVeto : public I3ConditionalModule¶
Public Functions
-
void Configure()¶
-
void Physics(I3FramePtr frame)¶
-
void Geometry(I3FramePtr frame)¶
-
inline void DetectorStatus(I3FramePtr frame)¶
Private Functions
-
bool IsPositionBad(const I3Position &position)¶
-
void Configure()¶
-
namespace [anonymous]¶
-
namespace [anonymous]¶
-
namespace [anonymous]¶
-
namespace [anonymous]¶
-
namespace ClipperLib¶
-
Enums
-
enum ClipType¶
Values:
-
enumerator ctIntersection¶
-
enumerator ctUnion¶
-
enumerator ctDifference¶
-
enumerator ctXor¶
-
enumerator ctIntersection¶
-
enum PolyFillType¶
Values:
-
enumerator pftEvenOdd¶
-
enumerator pftNonZero¶
-
enumerator pftPositive¶
-
enumerator pftNegative¶
-
enumerator pftEvenOdd¶
Functions
-
bool SlopesEqual(const IntPoint pt1, const IntPoint pt2, const IntPoint pt3, bool UseFullInt64Range)¶
-
bool SlopesEqual(const IntPoint pt1, const IntPoint pt2, const IntPoint pt3, const IntPoint pt4, bool UseFullInt64Range)¶
-
bool GetOverlapSegment(IntPoint pt1a, IntPoint pt1b, IntPoint pt2a, IntPoint pt2b, IntPoint &pt1, IntPoint &pt2)¶
-
bool ProcessParam1BeforeParam2(IntersectNode &node1, IntersectNode &node2)¶
-
void SwapIntersectNodes(IntersectNode &int1, IntersectNode &int2)¶
-
DoublePoint GetUnitNormal(const IntPoint &pt1, const IntPoint &pt2)¶
-
void OffsetPolygons(const Polygons &in_polys, Polygons &out_polys, double delta, JoinType jointype, double MiterLimit)¶
-
void SimplifyPolygon(const Polygon &in_poly, Polygons &out_polys, PolyFillType fillType)¶
-
void SimplifyPolygons(const Polygons &in_polys, Polygons &out_polys, PolyFillType fillType)¶
-
void SimplifyPolygons(Polygons &polys, PolyFillType fillType)¶
-
enum ClipType¶
-
namespace std
STL namespace.
-
namespace VHESelfVetoUtils¶
Functions
-
bool IsInReducedGeometry(const I3Position &pos, const reducedgeo_t &reducedgeo)¶
-
bool IsInReducedGeometryPolygon(const I3Position &pos, const reducedgeo_t &reducedgeo)¶
-
I3GeometryPtr TrimI3Geometry(const I3Geometry &geo, const reducedgeo_t &reducedgeo)¶
-
I3GeometryPtr TrimI3Geometry(const I3Geometry &geo, const std::set<int> &badStrings)¶
-
reducedgeo_t FindReducedGeometry(const I3Geometry &geo, I3DetectorStatusConstPtr status, double topBoundaryWidth, double bottomBoundaryWidth, double sideBoundaryWidth)¶
-
reducedgeo_t RemoveBoundariesFromReducedGeometry(const reducedgeo_t &input)¶
-
std::vector<I3Position> FindIntersectionsWithReducedGeometryBoundary(const VHESelfVetoUtils::reducedgeo_t &reducedgeo, const I3Position &from, const I3Position &to)¶
-
std::set<int> FindMissingStrings(const std::vector<OMKey> &badDOMs, const I3Geometry &geo, double missingDOMFractionForBadString = 0.9, bool ignoreDeepCoreStrings = true)¶
-
std::vector<I3Position> IntersectionsWithInstrumentedVolume(const I3Geometry &geo, const I3Particle &particle)¶
Find the intersection points of a particle’s path with the boundaries of the detector volume.
- Parameters:
geo – The relevant detector geometry
particle – The particle whose intersection points are to be found
- Returns:
A vector of all points where the (forward and backward) projected path of particle passes through the detector boundary. Note that these points may not be within the particle’s length.
-
std::vector<I3Position> IntersectionsWithInstrumentedVolume(const reducedgeo_t &geo, const I3Particle &particle)¶
Find the intersection points of a particle’s path with the boundaries of the detector volume.
- Parameters:
geo – The relevant detector geometry.
particle – The particle whose intersection points are to be found
- Returns:
A vector of all points where the (forward and backward) projected path of particle passes through the detector boundary. Note that these points may not be within the particle’s length.
- Pre:
geo must have all boundary widths set to zero, which can be accomplished using RemoveBoundariesFromReducedGeometry.
-
bool IsInReducedGeometry(const I3Position &pos, const reducedgeo_t &reducedgeo)¶
- file BadStringRemover.cxx
- #include <icetray/I3PacketModule.h>#include <icetray/I3Bool.h>#include <icetray/I3Int.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3MapOMKeyMask.h>#include <dataclasses/I3Double.h>#include <boost/foreach.hpp>#include <algorithm>#include <VHESelfVeto/VHESelfVetoUtils.h>
Functions
-
I3_MODULE(BadStringRemover)¶
-
I3_MODULE(BadStringRemover)¶
- file clipper.cxx
- #include “clipper/clipper.h”#include <cmath>#include <vector>#include <algorithm>#include <stdexcept>#include <cstring>#include <cstdlib>#include <ostream>
- file clipper.h
- #include <vector>#include <stdexcept>#include <cstring>#include <cstdlib>#include <ostream>#include <stdint.h>
- file DetectorShrinker.cxx
- #include <icetray/I3PacketModule.h>#include <icetray/I3Bool.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3MapOMKeyMask.h>#include <dataclasses/I3Double.h>#include <boost/foreach.hpp>#include <algorithm>#include <VHESelfVeto/VHESelfVetoUtils.h>
Functions
-
I3_MODULE(DetectorShrinker)¶
-
I3_MODULE(DetectorShrinker)¶
- file FiducialVolumeEntryPointFinder.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Bool.h>#include <dataclasses/I3Double.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3MCTree.h>#include <dataclasses/physics/I3MCTreeUtils.h>#include <boost/foreach.hpp>#include <algorithm>#include “recclasses/I3ParticleIntersections.h”#include “VHESelfVeto/VHESelfVetoUtils.h”
Functions
-
I3_MODULE(FiducialVolumeEntryPointFinder)¶
-
I3_MODULE(FiducialVolumeEntryPointFinder)¶
- file HomogenizedQTot.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Units.h>#include <dataclasses/calibration/I3Calibration.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3Double.h>#include <boost/foreach.hpp>
Functions
-
I3_MODULE(HomogenizedQTot)¶
-
static double CalculateHomogenizedQtot(I3RecoPulseSeriesMapConstPtr pulses, I3CalibrationConstPtr cal, I3DoubleConstPtr vertexTime, double maxChargePerDom)¶
-
I3_MODULE(HomogenizedQTot)¶
- file LayerVeto.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/calibration/I3Calibration.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3MapOMKeyMask.h>#include <dataclasses/I3Constants.h>#include <dataclasses/I3Vector.h>#include <dataclasses/I3Double.h>#include <boost/python/object.hpp>#include <boost/foreach.hpp>#include <boost/make_shared.hpp>#include <boost/next_prior.hpp>
Functions
-
double TotalCharge(const I3RecoPulseSeriesMap &pmap)¶
-
I3RecoPulseSeriesMapConstPtr RemovePulses(I3FramePtr frame, const std::string &key, const I3RecoPulseSeriesMap &selection)¶
-
void AddPulses(I3FramePtr frame, const std::string &key, I3RecoPulseSeriesMap &lhs, const I3RecoPulseSeriesMap &rhs)¶
-
double TotalCharge(const I3RecoPulseSeriesMap &pmap)¶
- file TauGeneratesMuon.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Bool.h>#include <icetray/I3Units.h>#include <dataclasses/physics/I3MCTree.h>#include <dataclasses/physics/I3MCTreeUtils.h>#include <vector>#include <boost/foreach.hpp>#include <algorithm>
Functions
-
I3_MODULE(TauGeneratesMuon)¶
-
I3_MODULE(TauGeneratesMuon)¶
- file VertexInFiducialVolume.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Bool.h>#include <dataclasses/I3Double.h>#include <icetray/I3Int.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3MCTree.h>#include <dataclasses/physics/I3MCTreeUtils.h>#include <vector>#include <boost/foreach.hpp>#include <algorithm>#include <VHESelfVeto/VHESelfVetoUtils.h>
Functions
-
I3_MODULE(VertexInFiducialVolume)¶
-
I3_MODULE(VertexInFiducialVolume)¶
- file VHESelfVeto.cxx
- #include <icetray/I3ConditionalModule.h>#include <icetray/I3Bool.h>#include <icetray/I3Units.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3Double.h>#include <boost/foreach.hpp>#include <algorithm>#include <VHESelfVeto/VHESelfVetoUtils.h>
Typedefs
-
typedef boost::tuple<OMKey, I3Position, I3RecoPulse> OMKeyPulsePair¶
-
typedef std::vector<OMKeyPulsePair> OMKeyPulseVector¶
Functions
-
I3_MODULE(VHESelfVeto)¶
-
static bool operator<(const OMKeyPulsePair &a, const OMKeyPulsePair &b)¶
-
typedef boost::tuple<OMKey, I3Position, I3RecoPulse> OMKeyPulsePair¶
- file VHESelfVetoUtils.cxx
- #include <boost/foreach.hpp>#include <algorithm>#include <cmath>#include <VHESelfVeto/VHESelfVetoUtils.h>#include “clipper/clipper.h”
- file VHESelfVetoUtils.h
- #include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3Particle.h>#include <vector>#include <map>#include <set>
- dir clipper
- dir icetray
- dir private
- dir public
- dir VHESelfVeto
- dir VHESelfVeto
- dir VHESelfVeto