PandaRoot
genfit Namespace Reference

Matrix inversion tools. More...

Namespaces

 RKTools
 Array matrix multiplications used in RKTrackRep.
 
 tools
 

Classes

class  AbsBField
 Abstract Interface to magnetic fields in GENFIT. More...
 
class  AbsFinitePlane
 Abstract base class for finite detector planes. More...
 
class  AbsFitter
 Abstract base class for fitters. More...
 
class  AbsFitterInfo
 This class collects all information needed and produced by a specific AbsFitter and is specific to one AbsTrackRep of the Track. More...
 
class  AbsHMatrix
 HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane. More...
 
class  AbsKalmanFitter
 Abstract base class for Kalman fitter and derived fitting algorithms. More...
 
class  AbsMaterialInterface
 Abstract base class for geometry interfacing. More...
 
class  AbsMeasurement
 Contains the measurement and covariance in raw detector coordinates. More...
 
class  AbsMeasurementProducer
 Abstract interface class for MeasurementProducer. More...
 
class  AbsTrackRep
 Abstract base class for a track representation. More...
 
class  ConstField
 Constant Magnetic field. More...
 
class  DAF
 Determinstic Annealing Filter (DAF) implementation. More...
 
class  DetPlane
 Detector plane. More...
 
class  EventDisplay
 Event display designed to run with Genfit. More...
 
class  Exception
 Exception class for error handling in GENFIT (provides storage for diagnostic information) More...
 
struct  ExtrapStep
 Helper for RKTrackRep. More...
 
struct  fieldCache
 Cache B field at a position. Used by FieldManager. More...
 
class  FieldManager
 Singleton which provides access to magnetic field maps. More...
 
class  FitStatus
 Class where important numbers and properties of a fit can be stored. More...
 
class  FullMeasurement
 Measurement class implementing a measurement of all track parameters. More...
 
class  HMatrixPhi
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixU
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixUnit
 AbsHMatrix implementation for 5-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixUV
 AbsHMatrix implementation for two-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixV
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  KalmanFitStatus
 FitStatus for use with AbsKalmanFitter implementations. More...
 
class  KalmanFittedStateOnPlane
 MeasuredStateOnPlane with additional info produced by a Kalman filter or DAF. More...
 
class  KalmanFitter
 Simple Kalman filter implementation. More...
 
class  KalmanFitterInfo
 Collects information needed and produced by a AbsKalmanFitter implementations and is specific to one AbsTrackRep of the Track. More...
 
class  KalmanFitterRefTrack
 Kalman filter implementation with linearization around a reference track. More...
 
class  MaterialEffects
 Stepper and energy loss/noise matrix calculation. More...
 
class  MaterialProperties
 Material properties needed e.g. for material effects calculation. More...
 
struct  MatStep
 Simple struct containing MaterialProperties and stepsize in the material. More...
 
class  MeasuredStateOnPlane
 StateOnPlane with additional covariance matrix. More...
 
class  MeasurementFactory
 Factory object to create AbsMeasurement objects from digitized and clustered data. More...
 
class  MeasurementOnPlane
 Measured coordinates on a plane. More...
 
class  MeasurementProducer
 Template class for a measurement producer module. More...
 
class  PlanarMeasurement
 Measurement class implementing a planar hit geometry (1 or 2D). More...
 
class  ProlateSpacepointMeasurement
 Class for measurements implementing a space point hit geometry with a very prolate form of the covariance matrix. More...
 
struct  PruneFlags
 Info which information has been pruned from the Track. More...
 
class  RectangularFinitePlane
 Rectangular finite plane. More...
 
class  ReferenceStateOnPlane
 StateOnPlane with linearized transport to that ReferenceStateOnPlane from previous and next ReferenceStateOnPlane More...
 
struct  RKStep
 Helper for RKTrackRep. More...
 
class  RKTrackRep
 AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v) More...
 
class  SpacepointMeasurement
 Class for measurements implementing a space point hit geometry. More...
 
class  StateOnPlane
 A state with arbitrary dimension defined in a DetPlane. More...
 
class  StepLimits
 Helper to store different limits on the stepsize for the RKTRackRep. More...
 
class  TGeoMaterialInterface
 AbsMaterialInterface implementation for use with ROOT's TGeoManager. More...
 
class  ThinScatterer
 Thin or thick scatterer. More...
 
class  Track
 Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects. More...
 
class  TrackCand
 Track candidate – seed values and indices. More...
 
class  TrackCandHit
 Hit object for use in TrackCand. Provides IDs and sorting parameters. More...
 
class  TrackPoint
 Object containing AbsMeasurement and AbsFitterInfo objects. More...
 
class  TrackPointComparator
 Helper class for TrackPoint sorting, used in Track::sort(). More...
 
class  WireMeasurement
 Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...
 
class  WireMeasurementNew
 Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...
 
class  WirePointMeasurement
 Class for measurements in wire detectors (Straw tubes and drift chambers) which can measure the coordinate along the wire. More...
 
class  WireTrackCandHit
 Hit object for use in TrackCand. Provides additional left/right parameter. More...
 

Typedefs

typedef boost::shared_ptr< const genfit::MaterialPropertiesSharedMaterialPropertiesPtr
 
typedef boost::shared_ptr< genfit::DetPlaneSharedPlanePtr
 Shared Pointer to a DetPlane. More...
 
typedef double M1x3[1 *3]
 
typedef double M1x4[1 *4]
 
typedef double M1x6[1 *6]
 
typedef double M1x7[1 *7]
 
typedef double M5x5[5 *5]
 
typedef double M6x6[6 *6]
 
typedef double M7x7[7 *7]
 
typedef double M8x7[8 *7]
 
typedef double M6x5[6 *5]
 
typedef double M7x5[7 *5]
 
typedef double M5x6[5 *6]
 
typedef double M5x7[5 *7]
 

Enumerations

enum  eFitterType { SimpleKalman, RefKalman, DafSimple, DafRef }
 
enum  eMultipleMeasurementHandling {
  weightedAverage, unweightedAverage, weightedClosestToReference, unweightedClosestToReference,
  weightedClosestToPrediction, unweightedClosestToPrediction, weightedClosestToReferenceWire, unweightedClosestToReferenceWire,
  weightedClosestToPredictionWire, unweightedClosestToPredictionWire
}
 
enum  StepLimitType {
  stp_noLimit = 0, stp_fieldCurv, stp_momLoss, stp_sMax,
  stp_sMaxArg, stp_boundary, stp_plane, ENUM_NR_ITEMS
}
 

Functions

AbsFitterInfonew_clone (const AbsFitterInfo &a)
 Needed for boost cloneability: More...
 
MeasuredStateOnPlane calcAverageState (const MeasuredStateOnPlane &forwardState, const MeasuredStateOnPlane &backwardState)
 Calculate weighted average between two MeasuredStateOnPlanes. More...
 

Detailed Description

Matrix inversion tools.

Typedef Documentation

◆ M1x3

typedef double genfit::M1x3[1 *3]

Array Matrix typedefs. They are needed for SSE optimization: gcc can vectorize loops only if the array sizes are known.

Definition at line 33 of file RKTools.h.

◆ M1x4

typedef double genfit::M1x4[1 *4]

Definition at line 34 of file RKTools.h.

◆ M1x6

typedef double genfit::M1x6[1 *6]

Definition at line 35 of file RKTools.h.

◆ M1x7

typedef double genfit::M1x7[1 *7]

Definition at line 36 of file RKTools.h.

◆ M5x5

typedef double genfit::M5x5[5 *5]

Definition at line 37 of file RKTools.h.

◆ M5x6

typedef double genfit::M5x6[5 *6]

Definition at line 43 of file RKTools.h.

◆ M5x7

typedef double genfit::M5x7[5 *7]

Definition at line 44 of file RKTools.h.

◆ M6x5

typedef double genfit::M6x5[6 *5]

Definition at line 41 of file RKTools.h.

◆ M6x6

typedef double genfit::M6x6[6 *6]

Definition at line 38 of file RKTools.h.

◆ M7x5

typedef double genfit::M7x5[7 *5]

Definition at line 42 of file RKTools.h.

◆ M7x7

typedef double genfit::M7x7[7 *7]

Definition at line 39 of file RKTools.h.

◆ M8x7

typedef double genfit::M8x7[8 *7]

Definition at line 40 of file RKTools.h.

◆ SharedMaterialPropertiesPtr

Definition at line 36 of file SharedMaterialPropertiesPtr.h.

◆ SharedPlanePtr

typedef boost::shared_ptr<genfit::DetPlane> genfit::SharedPlanePtr

Shared Pointer to a DetPlane.

Ownership can be shared, e.g between multiple StateOnPlane objects. The DetPlane will automatically be deleted, if no owner remains.

Definition at line 42 of file SharedPlanePtr.h.

Enumeration Type Documentation

◆ eFitterType

Enumerator
SimpleKalman 
RefKalman 
DafSimple 
DafRef 

Definition at line 40 of file EventDisplay.h.

◆ eMultipleMeasurementHandling

Enumerator
weightedAverage 

weighted average between measurements; used by DAF

unweightedAverage 

average between measurements, all weighted with 1

weightedClosestToReference 

closest to reference, weighted with its weight_

unweightedClosestToReference 

closest to reference, weighted with 1

weightedClosestToPrediction 

closest to prediction, weighted with its weight_

unweightedClosestToPrediction 

closest to prediction, weighted with 1

weightedClosestToReferenceWire 

if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with its weight_. Otherwise use weightedAverage.

unweightedClosestToReferenceWire 

if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with 1. Otherwise use unweightedAverage.

weightedClosestToPredictionWire 

if corresponding TrackPoint has one WireMeasurement, select closest to prediction, weighted with its weight_. Otherwise use weightedAverage.

unweightedClosestToPredictionWire 

if corresponding TrackPoint has one WireMeasurement, select closest to prediction, weighted with 1. Otherwise use unweightedAverage. Recommended for KalmanFitter to 'resolve' l/r ambiguities

Definition at line 34 of file AbsKalmanFitter.h.

◆ StepLimitType

Enumerator
stp_noLimit 
stp_fieldCurv 
stp_momLoss 
stp_sMax 
stp_sMaxArg 
stp_boundary 
stp_plane 
ENUM_NR_ITEMS 

Definition at line 32 of file StepLimits.h.

32  {
33  // soft limits (only rough estimation, can go beyond safely)
34  stp_noLimit = 0, // only for internal use
35 
36  // medium limits (can go a bit further if e.g. plane or boundary will be reached)
37  stp_fieldCurv, // stepsize limited by curvature and magnetic field inhomogenities
38  stp_momLoss, // stepsize limited by stepper because maximum momLoss is reached
39  stp_sMax, // stepsize limited by SMax defined in #estimateStep()
40 
41  // hard limits (must stop there at any case!)
42  stp_sMaxArg, // stepsize limited by argument maxStepArg passed to #estimateStep()
43  stp_boundary, // stepsize limited by stepper because material boundary is encountered
44  stp_plane, // stepsize limited because destination plane is reached
45 
46  ENUM_NR_ITEMS // only for internal use
47 };

Function Documentation

◆ calcAverageState()

MeasuredStateOnPlane genfit::calcAverageState ( const MeasuredStateOnPlane forwardState,
const MeasuredStateOnPlane backwardState 
)

Calculate weighted average between two MeasuredStateOnPlanes.

◆ new_clone()

AbsFitterInfo* genfit::new_clone ( const AbsFitterInfo a)
inline

Needed for boost cloneability:

Definition at line 112 of file AbsFitterInfo.h.

References genfit::AbsFitterInfo::clone().

113 {
114  return a.clone();
115 }