KaliVeda
Toolkit for HIC analysis
KVGeoImport.h
1 
4 #ifndef __KVGEOIMPORT_H
5 #define __KVGEOIMPORT_H
6 
7 #include "KVGeoNavigator.h"
8 #include "KVGeoDNTrajectory.h"
9 class KVMultiDetArray;
10 class KVIonRangeTable;
12 class KVDetector;
13 class KVGroup;
14 
68 class KVGeoImport : public KVGeoNavigator {
76 
78  KVDetector* BuildDetector(TString det_name, TGeoVolume* det_vol);
82 
83 public:
85  virtual ~KVGeoImport();
86 
87  virtual void ParticleEntersNewVolume(KVNucleus*);
88 
89  void ImportGeometry(Double_t dTheta = 0.1/*degrees*/, Double_t dPhi = 1.0/*degrees*/,
90  Double_t ThetaMin = 0.0/*degrees*/, Double_t PhiMin = 0.0/*degrees*/,
91  Double_t ThetaMax = 180.0/*degrees*/, Double_t PhiMax = 360.0/*degrees*/);
92 
94 
95  void SetDetectorPlugin(const TString& name)
96  {
98  }
99  void PropagateParticle(KVNucleus*, TVector3* TheOrigin = nullptr);
100 
101  void SetOrigin(double x, double y, double z)
102  {
107  fOrigin = new TVector3(x, y, z);
108  }
109 
110  void AddAcceptedDetectorName(const char* name);
111 
112  ClassDef(KVGeoImport, 0) //Import a ROOT geometry into a KVMultiDetArray object
113 };
114 
115 #endif
bool Bool_t
double Double_t
#define ClassDef(name, id)
char name[80]
Base class for detector geometry description.
Definition: KVDetector.h:160
Path taken by particles through multidetector geometry.
Import detector array described by ROOT geometry and set up corresponding KVMultiDetArray object.
Definition: KVGeoImport.h:68
KVNameValueList fAcceptedDetectorNames
Definition: KVGeoImport.h:80
KVDetector * GetCurrentDetector()
virtual void ParticleEntersNewVolume(KVNucleus *)
All detectors crossed by the particle's trajectory are added to the multidetector.
Definition: KVGeoImport.cpp:76
KVDetector * BuildDetector(TString det_name, TGeoVolume *det_vol)
KVGeoImport(TGeoManager *, KVIonRangeTable *, KVMultiDetArray *, Bool_t create=kTRUE)
Definition: KVGeoImport.cpp:29
KVGeoDNTrajectory fCurrentTrajectory
Definition: KVGeoImport.h:74
Bool_t fCheckDetVolNames
Definition: KVGeoImport.h:81
void AddAcceptedDetectorName(const char *name)
TString fDetectorPlugin
Definition: KVGeoImport.h:73
KVDetector * fLastDetector
Definition: KVGeoImport.h:71
void PropagateParticle(KVNucleus *, TVector3 *TheOrigin=nullptr)
virtual ~KVGeoImport()
Destructor.
Definition: KVGeoImport.cpp:65
KVIonRangeTable * fRangeTable
Definition: KVGeoImport.h:70
void SetOrigin(double x, double y, double z)
Definition: KVGeoImport.h:101
void SetDetectorPlugin(const TString &name)
Definition: KVGeoImport.h:95
void AddLayer(KVDetector *, TGeoVolume *)
KVMultiDetArray * fArray
Definition: KVGeoImport.h:69
TVector3 * fOrigin
Definition: KVGeoImport.h:75
void SetLastDetector(KVDetector *)
Bool_t fCreateArray
Definition: KVGeoImport.h:72
void ImportGeometry(Double_t dTheta=0.1, Double_t dPhi=1.0, Double_t ThetaMin=0.0, Double_t PhiMin=0.0, Double_t ThetaMax=180.0, Double_t PhiMax=360.0)
Definition: KVGeoImport.cpp:99
Base class for propagation of particles through array geometry.
Group of detectors which can be treated independently of all others in array.
Definition: KVGroup.h:20
Material for use in energy loss & range calculations.
Abstract base class for calculation of range & energy loss of charged particles in matter.
Base class for describing the geometry of a detector array.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Double_t y[n]
Double_t x[n]