GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
GearDistanceProperties.h
1 // -*- C++ -*-
2 #ifndef GEAR_GEARDISTANCEPROPERTIES_H
3 #define GEAR_GEARDISTANCEPROPERTIES_H 1
4 
5 #include <string>
6 #include <vector>
7 
8 #include "GEAR.h"
9 
10 namespace gear {
11 
22 
23  public:
25  virtual ~GearDistanceProperties() { /* nop */; }
26 
31  virtual const std::vector<std::string>& getMaterialNames(const Vector3D & p0, const Vector3D & p1) const = 0;
32 
33 
39  virtual const std::vector<double>& getMaterialThicknesses(const Vector3D & p0, const Vector3D & p1) const = 0;
40 
41 
42 
45  virtual double getNRadlen(const Vector3D & p0, const Vector3D & p1) const = 0;
46 
49  virtual double getNIntlen(const Vector3D & p0, const Vector3D & p1) const = 0;
50 
53  virtual double getBdL(const Vector3D & p0, const Vector3D & p1) const = 0;
54 
57  virtual double getEdL(const Vector3D & p0, const Vector3D & p1) const = 0;
58 }; // class
59 } // namespace gear
60 #endif /* ifndef GEAR_GEARDISTANCEPROPERTIES_H */
virtual double getEdL(const Vector3D &p0, const Vector3D &p1) const =0
The integrated electric field along the distance between [p0,p1] in mVolt.
Abstract interface for a class that returns the (material) properties along a given distance between ...
virtual const std::vector< double > & getMaterialThicknesses(const Vector3D &p0, const Vector3D &p1) const =0
List of matrial thicknesses in mm along the distance between [p0,p1] - runs parallel to the array ret...
virtual double getNIntlen(const Vector3D &p0, const Vector3D &p1) const =0
The number of interaction lengths along the distance between [p0,p1] .
virtual const std::vector< std::string > & getMaterialNames(const Vector3D &p0, const Vector3D &p1) const =0
List of material names along the distance between [p0,p1] - WARNING: this method returns a reference ...
virtual double getBdL(const Vector3D &p0, const Vector3D &p1) const =0
The integrated magnetic field along the distance between [p0,p1] in Tesla*mm.
virtual ~GearDistanceProperties()
Destructor.
virtual double getNRadlen(const Vector3D &p0, const Vector3D &p1) const =0
The number of radiation lengths along the distance between [p0,p1] .
Simple three dimensional vector providing the components for cartesian, cylindrical and spherical coo...
Definition: Vector3D.h:18