GEAR  1.6.1
 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:
23  TGeoGearPointProperties(TGeoManager *geoMgr);
24 
26  virtual ~TGeoGearPointProperties() { /* nop */; }
27 
28  //vec getPosition returns the current position (if ID is known)
31  virtual long64 getCellID(const Vector3D & pos) const throw (NotImplementedException, std::exception );
32 
33  // bool getMaterial (true if defined material, false if problem)
36  virtual const std::string & getMaterialName(const Vector3D & pos) const throw (NotImplementedException, std::exception );
37 
40  virtual double getDensity(const Vector3D & pos) const throw (NotImplementedException, std::exception );
41 
42 // /** Name of material at pos.
43 // */
44 // public double getState( const Vector3D& pos) const throws NotImplementedException ;
47  virtual double getTemperature(const Vector3D & pos) const throw (NotImplementedException, std::exception );
48 
51  virtual double getPressure(const Vector3D & pos) const throw (NotImplementedException, std::exception );
52 
55  virtual double getRadlen(const Vector3D & pos) const throw (NotImplementedException, std::exception );
56 
59  virtual double getIntlen(const Vector3D & pos) const throw (NotImplementedException, std::exception );
60 
63  virtual Vector3D getLocalPosition(const Vector3D & pos) const throw (NotImplementedException, std::exception );
64 
67  virtual Vector3D getB(const Vector3D & pos) const throw (NotImplementedException, std::exception );
68 
71  virtual Vector3D getE(const Vector3D & pos) const throw (NotImplementedException, std::exception );
72 
75  virtual std::vector<std::string> getListOfLogicalVolumes(const Vector3D & pos) const throw (NotImplementedException, std::exception );
76 
79  virtual std::vector<std::string> getListOfPhysicalVolumes(const Vector3D & pos) const throw (NotImplementedException, std::exception );
80 
83  virtual std::string getRegion(const Vector3D & pos) const throw (NotImplementedException, std::exception );
84 
87  virtual bool isTracker(const Vector3D & pos) const throw (NotImplementedException, std::exception );
88 
91  virtual bool isCalorimeter(const Vector3D & pos) const throw (NotImplementedException, std::exception );
92 
93  protected:
94  TGeoManager *_tgeomanager;
95 
96 };//class
97 } // namespace gear
98 #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.
NotImplementedException used for features that are not implemented.
Definition: GEAR.h:81
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...