View Javadoc

1   package org.lcsim.material;
2   
3   /**
4    *
5    * This is the primary interface to information on a single material.
6    *
7    * @author jeremym
8    * @version $Id: IMaterial.java,v 1.1 2011/03/11 19:22:20 jeremy Exp $
9    */
10  public interface IMaterial 
11  {    
12      /**
13       * Get the name of this material.
14       * @return The name of the material.
15       */
16  	public String getName();
17      
18      /**
19       * Get the density of this material in g/cm3.
20       * @return The density in g/cm3.
21       */
22  	public double getDensity();
23      
24      /**
25       * Get the atomic mass of this material.
26       * @return The atomic mass.
27       */
28  	public double getZ();
29      
30      /**
31       * Get the atomic number of this material.
32       * @return The atomic number.
33       */
34  	public double getA();
35         
36      /**
37       * Get the nuclear interaction length in g/cm2.
38       * @return The nuclear interaction length in g/cm2.
39       */
40  	public double getNuclearInteractionLength();
41      
42      /**
43       * Get the nuclear interaction length in g/cm2.
44       * @return The nuclear interaction length in cm.
45       */
46  	public double getNuclearInteractionLengthWithDensity();
47      
48      /**
49       * Get the radiation length in g/cm2.
50       * @return The radiation length in g/cm2.
51       */
52  	public double getRadiationLength();
53      
54      /**
55       * Get the radiation length in cm.
56       * @return The radiation length in cm.
57       */
58  	public double getRadiationLengthWithDensity();
59          
60      /**
61       * Get the temperature of the material in Kelvin.
62       * @return The temperature in Kelvin.
63       */
64      public double getTemperature();
65      
66      /**
67       * Get the pressure of the material in atmospheres.
68       * @return The pressure of the material in atmospheres.
69       */
70      public double getPressure();
71      
72      /**
73       * Get the state of this material, either liquid, gas, solid, or unknown.
74       * @return The state of this material.
75       */
76  	public MaterialState getState();		
77  }