GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
SimpleMaterial.h
1 // -*- C++ -*-
2 #ifndef GEAR_SimpleMaterial_H
3 #define GEAR_SimpleMaterial_H 1
4 
5 #include <string>
6 #include <vector>
7 
8 #include "GEAR.h"
9 
10 namespace gear {
11 
21 
22  public:
24  virtual ~SimpleMaterial() { /* nop */; }
25 
27  virtual const std::string & getName() const = 0;
28 
30  virtual double getA() const = 0 ;
31 
33  virtual double getZ() const = 0 ;
34 
36  virtual double getDensity() const = 0 ;
37 
39  virtual double getRadLength() const = 0 ;
40 
42  virtual double getIntLength() const = 0;
43 
44 }; // class
45 
46 } // namespace gear
47 
48 #endif // ifndef GEAR_SimpleMaterial_H
virtual double getA() const =0
The mass number of the (averaged) material.
Abstract interface for a simple material description tjhat hold s the following properties: A...
virtual double getIntLength() const =0
Interaction length of material in mm.
virtual double getRadLength() const =0
Radiation length of material in mm.
virtual ~SimpleMaterial()
Destructor.
virtual const std::string & getName() const =0
The material name.
virtual double getZ() const =0
The atomic number of the (averaged) material.
virtual double getDensity() const =0
Density in kg/m^3.