GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
TGeoGearPointProperties.h
1 #ifndef GEAR_TGEOGEARPOINTPROPERTIES_H
2 #define GEAR_TGEOGEARPOINTPROPERTIES_H 1
3 
4 #include <string>
5 #include <vector>
6 
7 #include "gear/GEAR.h"
8 #include "gear/GearPointProperties.h"
9 
10 //#include "TGeoManager.h"
11 class TGeoManager;
12 
13 namespace gear {
14 
21 
22 public:
24  TGeoGearPointProperties& operator=(const TGeoGearPointProperties&) = delete ;
25 
26  TGeoGearPointProperties(TGeoManager *geoMgr);
27 
29  virtual ~TGeoGearPointProperties() { /* nop */; }
30 
31  //vec getPosition returns the current position (if ID is known)
34  virtual long64 getCellID(const Vector3D & pos) const ;
35 
36  // bool getMaterial (true if defined material, false if problem)
39  virtual const std::string & getMaterialName(const Vector3D & pos) const ;
40 
43  virtual double getDensity(const Vector3D & pos) const ;
44 
45 // /** Name of material at pos.
46 // */
47 // public double getState( const Vector3D& pos) const throws NotImplementedException ;
50  virtual double getTemperature(const Vector3D & pos) const ;
51 
54  virtual double getPressure(const Vector3D & pos) const ;
55 
58  virtual double getRadlen(const Vector3D & pos) const ;
59 
62  virtual double getIntlen(const Vector3D & pos) const ;
63 
66  virtual Vector3D getLocalPosition(const Vector3D & pos) const ;
67 
70  virtual Vector3D getB(const Vector3D & pos) const ;
71 
74  virtual Vector3D getE(const Vector3D & pos) const ;
75 
78  virtual std::vector<std::string> getListOfLogicalVolumes(const Vector3D & pos) const ;
79 
82  virtual std::vector<std::string> getListOfPhysicalVolumes(const Vector3D & pos) const ;
83 
86  virtual std::string getRegion(const Vector3D & pos) const ;
87 
90  virtual bool isTracker(const Vector3D & pos) const ;
91 
94  virtual bool isCalorimeter(const Vector3D & pos) const ;
95 
96  protected:
97  TGeoManager *_tgeomanager = nullptr ;
98 
99 };//class
100 } // namespace gear
101 #endif /* ifndef GEAR_TGeoGEARPOINTPROPERTIES_H */
virtual bool isCalorimeter(const Vector3D &pos) const
True if region that contains pos is defined as a calorimeter.
virtual bool isTracker(const Vector3D &pos) const
True if region that contains pos is defined as a tracker.
virtual std::vector< std::string > getListOfLogicalVolumes(const Vector3D &pos) const
Names of (geant4) logical volumes in heirarchy starting at given pos ending with the world volume...
virtual Vector3D getLocalPosition(const Vector3D &pos) const
Position in local coordinate.
virtual double getTemperature(const Vector3D &pos) const
Name of material at pos.
virtual Vector3D getB(const Vector3D &pos) const
The magnetic field vector at pos in [Tesla].
virtual double getIntlen(const Vector3D &pos) const
Interaction length of material in mm at pos.
Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coo...
Definition: Vector3D.h:18
long long long64
64 bit integer,e.g.to be used for cellids
Definition: GEAR.h:32
virtual double getDensity(const Vector3D &pos) const
Density in kg/m^3 at pos.
virtual std::string getRegion(const Vector3D &pos) const
Names of (geant4) region that contains the given pos.
virtual double getPressure(const Vector3D &pos) const
Pressure in P at pos.
virtual double getRadlen(const Vector3D &pos) const
Radiation length of material in mm at pos.
virtual long64 getCellID(const Vector3D &pos) const
The cellID of the the sensitive detector at pos.
virtual const std::string & getMaterialName(const Vector3D &pos) const
Name of material at pos.
virtual std::vector< std::string > getListOfPhysicalVolumes(const Vector3D &pos) const
Names of (geant4) physical volumes in heirarchy starting at given pos ending with the world volume...
virtual Vector3D getE(const Vector3D &pos) const
The electric field vector at pos in [V/m].
virtual ~TGeoGearPointProperties()
Destructor.
TGeo implementation of the abstract interface that returns the (material) properties of a given point...
Abstract interface for a class that returns the (material) properties of a given point in in world co...