#include <algorithm>
#include <functional>
#include <numeric>
#include "GaudiKernel/Kernel.h"
#include "GaudiKernel/StatusCode.h"
#include "DetDesc/DetDesc.h"
#include "DetDesc/ISolid.h"
#include "DetDesc/ILVolume.h"
#include "DetDesc/IPVolume.h"
#include "DetDesc/Material.h"
#include "DetDesc/Compare.h"
#include "DetDesc/IntersectionErrors.h"
Include dependency graph for VolumeIntersectionIntervals.h:
Go to the source code of this file.
Namespaces | |
namespace | VolumeIntersectionIntervals |
Classes | |
class | VolumeIntersectionIntervals::AccumulateIntervals |
accumulation utility to accumulate the total length of intervals More... | |
class | VolumeIntersectionIntervals::AccumulateIntersections |
accumulation utility to accumulate the total length of intersections More... | |
class | VolumeIntersectionIntervals::CompareIntersections |
"very specific" comparison for intersections!!! More... | |
Functions | |
bool | operator< (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator== (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator> (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator<= (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator>= (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator!= (const ILVolume::Interval &Int, double Length) |
boolean operation for intervals | |
bool | operator< (const ILVolume::Intersection &Int, double RadLength) |
boolean operations for Intersections | |
bool | operator<= (const ILVolume::Intersection &Int, double RadLength) |
boolean operations for Intersections | |
bool | operator> (const ILVolume::Intersection &Int, double RadLength) |
boolean operations for Intersections | |
bool | operator>= (const ILVolume::Intersection &Int, double RadLength) |
boolean operations for Intersections | |
bool | operator== (const ILVolume::Intersection &Int, double RadLength) |
boolean operations for Intersections | |
int | VolumeIntersectionIntervals::intersect (const ILVolume::Interval &i1, const ILVolume::Interval &i2) |
check the intersection | |
int | VolumeIntersectionIntervals::intersect (const ILVolume::Intersection &i1, const ILVolume::Intersection &i2) |
check the intersection | |
template<class OUTPUTTYPE> | |
unsigned int | VolumeIntersectionIntervals::TicksToIntervals (const ISolid::Ticks &ticks, OUTPUTTYPE out) |
helpful method to decode the ticks sequence into sequence of intervals return the number of intervals | |
template<class OUTPUTTYPE> | |
StatusCode | VolumeIntersectionIntervals::MergeOwnAndChildContainers (const ILVolume::Intersections &own, const ILVolume::Intersections &child, OUTPUTTYPE out, const ILVolume *, const double) |
helpful method of merging 2 containers | |
template<class OUTPUTTYPE> | |
StatusCode | VolumeIntersectionIntervals::MergeOwnAndChildContainers2 (const ILVolume::Intersections &own, const ILVolume::Intersections &child, OUTPUTTYPE out, const ILVolume *volume, const double length) |
helpful method of merging 2 containers | |
int | VolumeIntersectionIntervals::correct (const ILVolume *volume, ILVolume::Intersections &cnt, const double tick, unsigned int index=0) |
try to validate&correct the intersections |
Sebastien Ponce
Definition in file VolumeIntersectionIntervals.h.
bool operator< | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator== | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator> | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator<= | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator>= | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator!= | ( | const ILVolume::Interval & | Int, | |
double | Length | |||
) | [inline] |
bool operator< | ( | const ILVolume::Intersection & | Int, | |
double | RadLength | |||
) | [inline] |
boolean operations for Intersections
Definition at line 58 of file VolumeIntersectionIntervals.h.
00059 { return ( ( 0 == Int.second ) ? true : 00060 Int.first < RadLength * ( Int.second->radiationLength() ) ) ; }
bool operator<= | ( | const ILVolume::Intersection & | Int, | |
double | RadLength | |||
) | [inline] |
boolean operations for Intersections
Definition at line 63 of file VolumeIntersectionIntervals.h.
00064 { return ( ( 0 == Int.second ) ? true : 00065 Int.first <= RadLength * ( Int.second->radiationLength() ) ) ; }
bool operator> | ( | const ILVolume::Intersection & | Int, | |
double | RadLength | |||
) | [inline] |
boolean operations for Intersections
Definition at line 68 of file VolumeIntersectionIntervals.h.
00069 { return ( ( 0 == Int.second ) ? false : 00070 Int.first > RadLength * ( Int.second->radiationLength() ) ) ; }
bool operator>= | ( | const ILVolume::Intersection & | Int, | |
double | RadLength | |||
) | [inline] |
boolean operations for Intersections
Definition at line 73 of file VolumeIntersectionIntervals.h.
00074 { return ( ( 0 == Int.second ) ? false : 00075 Int.first >= RadLength * ( Int.second->radiationLength() ) ) ; }
bool operator== | ( | const ILVolume::Intersection & | Int, | |
double | RadLength | |||
) | [inline] |
boolean operations for Intersections
Definition at line 78 of file VolumeIntersectionIntervals.h.
00079 { return ( ( 0 == Int.second ) ? ( ( 0 == RadLength ) ? true : false ) : 00080 Int.first >= RadLength * ( Int.second->radiationLength() ) ) ; }