KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVGeoImport.h
Go to the documentation of this file.
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 
67 class KVGeoImport : public KVGeoNavigator {
75 
77  KVDetector* BuildDetector(TString det_name, TGeoVolume* det_vol);
81 
82 public:
84  virtual ~KVGeoImport();
85 
86  virtual void ParticleEntersNewVolume(KVNucleus*);
87 
88  void ImportGeometry(Double_t dTheta = 0.1/*degrees*/, Double_t dPhi = 1.0/*degrees*/,
89  Double_t ThetaMin = 0.0/*degrees*/, Double_t PhiMin = 0.0/*degrees*/,
90  Double_t ThetaMax = 180.0/*degrees*/, Double_t PhiMax = 360.0/*degrees*/);
91 
93 
94  void SetDetectorPlugin(const TString& name)
95  {
96  fDetectorPlugin = name;
97  }
98  void PropagateParticle(KVNucleus*, TVector3* TheOrigin = nullptr);
99 
100  void SetOrigin(double x, double y, double z)
101  {
106  fOrigin = new TVector3(x, y, z);
107  }
108 
109  void AddAcceptedDetectorName(const char* name);
110 
111  ClassDef(KVGeoImport, 0) //Import a ROOT geometry into a KVMultiDetArray object
112 };
113 
114 #endif
bool Bool_t
double Double_t
#define ClassDef(name, id)
Base class for detector geometry description, interface to energy-loss calculations.
Definition: KVDetector.h:121
Path taken by particles through multidetector geometry.
Import detector array described by ROOT geometry and set up corresponding KVMultiDetArray object.
Definition: KVGeoImport.h:67
KVNameValueList fAcceptedDetectorNames
Definition: KVGeoImport.h:79
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:73
Bool_t fCheckDetVolNames
Definition: KVGeoImport.h:80
void AddAcceptedDetectorName(const char *name)
TString fDetectorPlugin
Definition: KVGeoImport.h:72
KVDetector * fLastDetector
Definition: KVGeoImport.h:70
void PropagateParticle(KVNucleus *, TVector3 *TheOrigin=nullptr)
virtual ~KVGeoImport()
Destructor.
Definition: KVGeoImport.cpp:65
KVIonRangeTable * fRangeTable
Definition: KVGeoImport.h:69
void SetOrigin(double x, double y, double z)
Definition: KVGeoImport.h:100
void SetDetectorPlugin(const TString &name)
Definition: KVGeoImport.h:94
void AddLayer(KVDetector *, TGeoVolume *)
KVMultiDetArray * fArray
Definition: KVGeoImport.h:68
TVector3 * fOrigin
Definition: KVGeoImport.h:74
void SetLastDetector(KVDetector *)
Bool_t fCreateArray
Definition: KVGeoImport.h:71
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:19
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:125
Double_t y[n]
Double_t x[n]