public class MaterialElement extends Object implements IMaterial
IMaterial.State
Modifier and Type | Field and Description |
---|---|
protected double |
A |
protected double |
criticalEnergy |
protected double |
density |
protected double |
moliereRadius |
protected double |
N |
protected String |
name |
protected double |
nuclearInteractionLength |
protected double |
nuclearInteractionLengthWithDensity |
protected double |
pressure |
protected double |
radiationLength |
protected double |
radiationLengthWithDensity |
protected IMaterial.State |
state |
protected double |
temperature |
protected double |
Z |
defaultIonizationPotential, defaultPressure, defaultState, defaultTemperature, Gas, Liquid, Solid, Unknown
Modifier | Constructor and Description |
---|---|
protected |
MaterialElement()
Constructor for sub-classes.
|
|
MaterialElement(String name,
double Z,
double A,
double density)
Construct a MaterialElement.
|
|
MaterialElement(String name,
double Z,
double A,
double density,
IMaterial.State state,
double temperature,
double pressure)
Construct a MaterialElement.
|
Modifier and Type | Method and Description |
---|---|
protected void |
computeCriticalEnergy() |
private void |
computeDerivedQuantities() |
protected void |
computeMoliereRadius() |
protected void |
computeNuclearInteractionLength() |
static double |
computeNuclearInteractionLength(double A,
double Z) |
protected void |
computeRadiationLength() |
static double |
computeRadiationLengthTsai(double A,
double Z) |
double |
getA()
Get the atomic number of this material.
|
double |
getDensity()
Get the density of this material in g/cm3.
|
double |
getEffectiveNumberOfNucleons() |
double |
getMoliereRadius()
Get the Moliere radius in cm.
|
String |
getName()
Get the name of this material.
|
double |
getNuclearInteractionLength()
Get the nuclear interaction length in g/cm2.
|
double |
getNuclearInteractionLengthWithDensity()
Get the nuclear interaction length in g/cm2.
|
double |
getPressure()
Get the pressure of the material in atmospheres.
|
double |
getRadiationLength()
Get the radiation length in g/cm2.
|
double |
getRadiationLengthWithDensity()
Get the radiation length in cm.
|
IMaterial.State |
getState()
Get the state of this material, either liquid, gas, solid, or unknown.
|
double |
getTemperature()
Get the temperature of the material in Kelvin.
|
double |
getZ()
Get the atomic mass of this material.
|
String |
toString() |
protected String name
protected double Z
protected double A
protected double density
protected double temperature
protected double pressure
protected IMaterial.State state
protected double N
protected double nuclearInteractionLength
protected double nuclearInteractionLengthWithDensity
protected double radiationLength
protected double radiationLengthWithDensity
protected double criticalEnergy
protected double moliereRadius
protected MaterialElement()
public MaterialElement(String name, double Z, double A, double density, IMaterial.State state, double temperature, double pressure)
name
- The name of the material, which must be globally unique.Z
- The atomic mass.A
- The atomic number.density
- The density in g/cm3.state
- The material's state.temperature
- The temperature in Kelvin.pressure
- The pressure in atmospheres.public MaterialElement(String name, double Z, double A, double density)
name
- The name of the material, which must be globally unique.Z
- The atomic mass.A
- The atomic number.density
- The density in g/cm3.private void computeDerivedQuantities()
protected void computeCriticalEnergy()
protected void computeMoliereRadius()
protected void computeRadiationLength()
protected void computeNuclearInteractionLength()
public double getA()
IMaterial
public double getDensity()
IMaterial
getDensity
in interface IMaterial
public String getName()
IMaterial
public double getNuclearInteractionLength()
IMaterial
getNuclearInteractionLength
in interface IMaterial
public double getRadiationLength()
IMaterial
getRadiationLength
in interface IMaterial
public IMaterial.State getState()
IMaterial
public double getZ()
IMaterial
public double getEffectiveNumberOfNucleons()
public double getMoliereRadius()
IMaterial
getMoliereRadius
in interface IMaterial
public double getNuclearInteractionLengthWithDensity()
IMaterial
getNuclearInteractionLengthWithDensity
in interface IMaterial
public double getRadiationLengthWithDensity()
IMaterial
getRadiationLengthWithDensity
in interface IMaterial
public static double computeRadiationLengthTsai(double A, double Z)
public static double computeNuclearInteractionLength(double A, double Z)
public double getTemperature()
IMaterial
getTemperature
in interface IMaterial
public double getPressure()
IMaterial
getPressure
in interface IMaterial
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.