File indexing completed on 2025-01-18 09:59:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #ifndef G4tgrMaterial_hh
0035 #define G4tgrMaterial_hh 1
0036
0037 #include "globals.hh"
0038 #include "G4Material.hh"
0039
0040 class G4tgrMaterial
0041 {
0042 public:
0043
0044 G4tgrMaterial();
0045 virtual ~G4tgrMaterial();
0046
0047
0048
0049 const G4String& GetName() const { return theName; }
0050
0051 G4double GetDensity() const { return theDensity; }
0052
0053
0054 G4int GetNumberOfComponents() const { return theNoComponents; }
0055 const G4String& GetType() const { return theMateType; }
0056
0057 virtual G4double GetA() const = 0;
0058 virtual G4double GetZ() const = 0;
0059 virtual const G4String& GetComponent(G4int i) const = 0;
0060 virtual G4double GetFraction(G4int i) = 0;
0061
0062 G4double GetIonisationMeanExcitationEnergy() const
0063 {
0064 return theIonisationMeanExcitationEnergy;
0065 }
0066
0067 void SetIonisationMeanExcitationEnergy(G4double mee)
0068 {
0069 theIonisationMeanExcitationEnergy = mee;
0070 }
0071
0072 const G4State& GetState() const { return theState; }
0073 void SetState(const G4String& val);
0074
0075 G4double GetTemperature() const { return theTemperature; }
0076 void SetTemperature(G4double val) { theTemperature = val; }
0077
0078 G4double GetPressure() const { return thePressure; }
0079 void SetPressure(G4double val) { thePressure = val; }
0080
0081 protected:
0082
0083 G4String theName = "Material";
0084 G4double theDensity = 0.0;
0085 G4int theNoComponents = 0;
0086 G4String theMateType = "Material";
0087 G4double theIonisationMeanExcitationEnergy = -1.0;
0088 G4State theState = kStateUndefined;
0089 G4double theTemperature = 0.0;
0090 G4double thePressure = 0.0;
0091 };
0092
0093 #endif