4#ifndef __KVGEONAVIGATOR_H
5#define __KVGEONAVIGATOR_H
10#include "KVDetector.h"
11#include <KVNameValueList.h>
#define ClassDef(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Base class for KaliVeda framework.
Base class for detector geometry description.
Abstract base class container for multi-particle events.
Link physical path to node in geometry with detector.
KVDetector * GetDetector() const
virtual ~KVGeoDetectorPath()
KVGeoDetectorPath(const Char_t *path, KVDetector *det)
Base class for propagation of particles through array geometry.
virtual void AddPointToCurrentTrack(Double_t, Double_t, Double_t)
void FormatStructureName(const Char_t *type, Int_t number, KVString &name)
Bool_t IsTracking() const
TGeoVolume * GetCurrentVolume() const
TGeoHMatrix fCurrentMatrix
current global transformation matrix
const TVector3 & GetEntryPoint() const
void SetDetectorNameFormat(const Char_t *fmt)
void PropagateEvent(KVEvent *, TVector3 *TheOrigin=0)
const TGeoHMatrix * GetCurrentMatrix() const
Returns pointer to internal copy of current global transformation matrix.
TGeoManager * GetGeometry() const
void AbsorbDetectorPaths(KVGeoNavigator *GN)
TClonesArray fCurrentStructures
list of current structures deduced from path
TString fCurrentPath
current full path to physical node
void FormatDetectorName(const Char_t *basename, KVString &name)
TGeoNode * fCurrentDetectorNode
node for current detector
void ExtractDetectorNameFromPath(KVString &)
KVUniqueNameList fDetectorPaths
correspondance between physical node and detector objects
void PrintDetectorPaths()
TGeoNode * fMotherNode
mother node of current node
void SetTracking(Bool_t on=kTRUE)
Double_t GetStepSize() const
KVNameValueList fStrucNameFmt
list of user-defined formats for structure names
void SetNameCorrespondanceList(const Char_t *)
TVector3 fExitPoint
position of particle on exiting volume
TEnv * fDetStrucNameCorrespList
list(s) of correspondance for renaming structures/detectors
void SetStopPropagation(Bool_t stop=kTRUE)
virtual void PropagateParticle(KVNucleus *, TVector3 *TheOrigin=0)
Int_t fTrackID
track counter
const TVector3 & GetExitPoint() const
KVDetector * GetDetectorFromPath(const Char_t *p)
Bool_t fTracking
set to true when tracking particles
TGeoNode * GetCurrentDetectorNode() const
virtual void ParticleEntersNewVolume(KVNucleus *)
TString GetCurrentPath() const
Bool_t GetNameCorrespondance(const Char_t *, TString &)
Double_t fStepSize
distance to travel in volume
TGeoManager * fGeometry
geometry to navigate
Bool_t StopPropagation() const
TGeoNode * fCurrentNode
current node
virtual ~KVGeoNavigator()
Destructor.
TVector3 fEntryPoint
position of particle on entering volume
KVString fDetNameFmt
user-defined format for detector names
const Char_t * GetDetectorNameFormat() const
Int_t fCurStrucNumber
number of current parent structures
void ResetTrackID(Int_t id=0)
TGeoVolume * fCurrentVolume
current volume
void SetStructureNameFormat(const Char_t *type, const Char_t *fmt)
TGeoNode * GetCurrentNode() const
TGeoVolume * GetCurrentDetectorNameAndVolume(KVString &, Bool_t &)
const TClonesArray & CurrentStructures() const
void DrawTracks(KVNumberList *=nullptr)
Bool_t fStopPropagation
flag set by user when particle propagation should stop
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Strings used to represent a set of ranges of values.
virtual TObject * FindObject(const char *name) const
virtual void SetOwner(Bool_t enable=kTRUE)
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Optimised list in which named objects can only be placed once.
virtual void AddAll(const TCollection *col)
const char * GetName() const override
const char * Data() const