Base class to build tracker families. More...
#include <GammaTracker.h>
Public Member Functions | |
ClassDef (GammaTracker, 0) | |
Root dictionary related. More... | |
virtual Int_t | DoTracking () |
to track the gamma-rays More... | |
GammaTracker (const char *name="GammaTracker", const char *title="Base to track gamma-rays") | |
direction (phi) of the first scattered gamma-ray for polarisation More... | |
Double_t | GetDistFactor () const |
Internal unit system for lengths and energies. More... | |
Double_t | GetEnerFactor () const |
virtual const Double_t * | GetInputDE () const |
virtual const Double_t * | GetInputDX () const |
virtual const Double_t * | GetInputDY () const |
virtual const Double_t * | GetInputDZ () const |
virtual const Double_t * | GetInputE () const |
virtual UInt_t | GetInputN () const |
virtual const Double_t * | GetInputX () const |
virtual const Double_t * | GetInputY () const |
virtual const Double_t * | GetInputZ () const |
Double_t | GetMaxImpacts () const |
virtual const Double_t * | GetOutputE () const |
virtual UInt_t | GetOutputN () const |
virtual const Double_t * | GetOutputPhi1 () const |
virtual const Double_t * | GetOutputPhi2 () const |
virtual const Double_t * | GetOutputTheta1 () const |
virtual const Double_t * | GetOutputTheta2 () const |
virtual void | SetDistFactor (Double_t f) |
virtual void | SetEnerFactor (Double_t f) |
virtual UInt_t | SetEvent (UInt_t n, const Double_t *e, const Double_t *x, const Double_t *y, const Double_t *z, Double_t efactor=1.0, Double_t pfactor=1.0) |
virtual void | SetPacking () |
virtual void | SetSmearing () |
void | ShowCurrentEvent () |
virtual | ~GammaTracker () |
Static Public Member Functions | |
static GammaTracker * | GetTracker (const char *classname) |
Interface to get a new tracker. More... | |
static bool | IsTracker (const char *classname) |
To know if a tracker is already loaded. More... | |
static bool | Load (const char *classname, const char *pathtopackage, const char *libraryname) |
To load an interface to a particular tracker. More... | |
Protected Attributes | |
Double_t * | InputDE |
energies More... | |
Double_t * | InputDX |
Z positions. More... | |
Double_t * | InputDY |
DX positions. More... | |
Double_t * | InputDZ |
DY positions. More... | |
Double_t * | InputE |
of impactsMore... | |
UInt_t | InputN |
Units for energies. More... | |
Double_t * | InputX |
errors on energies More... | |
Double_t * | InputY |
X positions. More... | |
Double_t * | InputZ |
Y positions. More... | |
Double_t * | OutputE |
of reconstructed gamma-raysMore... | |
UInt_t | OutputN |
DZ positions. More... | |
Double_t * | OutputPhi1 |
incoming direction (theta) of the reconstructed gamma-rays More... | |
Double_t * | OutputPhi2 |
direction (theta) of the first scattered gamma-ray for polarisation More... | |
Double_t * | OutputTheta1 |
energies of the reconstructed gamma-rays More... | |
Double_t * | OutputTheta2 |
incoming direction (phi) of the reconstructed gamma-rays More... | |
Base class to build tracker families.
Any tracking algorithm must inherit from GammaTracker to be used in the GammaWare.
Once a new tracker is loaded (see TrackerLoader.C), it must be allocated by using the static method GetTracker.
Because GammaTracker defines an general interface, it is kept as simple as possible. Inputs and outputs are just buffers of doubles. Inputs are energies and positions of the different impacts in the detector (with their associated errors). Outputs are the reconstructed energies, the emission angles (theta1, phi1) ands the direction of the second impact (theta2, phi2) for polarisation measurements.
Different tracking may work with different unit system. It can be checked/modified through the DistFactor methods. Once an event has been initialised (see SetEvent methods), the tracking is called with DoTracking(). The output buffers contain then the tracked gamma-rays.
@author Olivier Stezowski
Definition at line 29 of file GammaTracker.h.