5 modified files
GeomConverter/src/org/lcsim/material
diff -u -r1.2 -r1.3
--- Material.java 30 Jun 2005 00:37:49 -0000 1.2
+++ Material.java 30 Jun 2005 00:53:16 -0000 1.3
@@ -73,15 +73,18 @@
_nComponents = _nComponentsMax = _nElements = 1;
_isElement = true;
- MaterialElement element = MaterialManager.getElement(name);
+ //MaterialElement element = MaterialManager.getElement(name);
- if ( element == null )
- {
- throw new RuntimeException("Corresponding element not found for material by name: " + name);
- }
+ //if ( element == null )
+ //{
+ // throw new RuntimeException("Corresponding element not found for material by name: " + name);
+ //}
+
+ //_elements.add(element);
+ MaterialManager.addElement(new MaterialElement(_name, _Zeff, _Aeff) );
+ _massFractions.add(1.0);
- _elements.add(element);
- _massFractions.add(1.0);
+ MaterialManager.addMaterial(this);
}
public Material(String name,
@@ -106,7 +109,9 @@
_nComponentsMax = nComponents;
_nComponents = _nElements = 0;
- _isElement = false;
+ _isElement = false;
+
+ MaterialManager.addMaterial(this);
}
int getNumberOfElements()
GeomConverter/src/org/lcsim/material
diff -u -r1.1 -r1.2
--- MaterialElement.java 30 Jun 2005 00:37:50 -0000 1.1
+++ MaterialElement.java 30 Jun 2005 00:53:16 -0000 1.2
@@ -6,9 +6,9 @@
{
private String _name; // Element 1 or 2 letter name
private String _fullName; // Element full name
- private int _Z; // Element Z
+ private double _Z; // Element Z
private double _A; // Atomic weight in mol/cc
- private double _density; // Density in g/cm^3 at 25 degrees C or at boiling point for liquids
+ private double _density; // Density in g/cm^3 at 25 degrees C or at boiling point for liquids
private double _meltingPoint; // Melting point (K)
private double _boilingPoint; // Boiling point (K)
private double _ionizationPotential; // Ionization potential (eV)
@@ -30,7 +30,7 @@
MaterialElement(String name,
String fullName,
- int Z,
+ double Z,
double A,
double density,
double mp,
@@ -47,9 +47,19 @@
_meltingPoint = mp;
_boilingPoint = bp;
_ionizationPotential = ip;
- _elements.put(name, this);
+ MaterialManager.addElement(this);
}
+ MaterialElement(String name,
+ double Z,
+ double A)
+ {
+ _name = name;
+ _Z = Z;
+ _A = A;
+ MaterialManager.addElement(this);
+ }
+
public static Map elements()
{
return _elements;
@@ -63,7 +73,7 @@
{
return _fullName;
}
- public int getZ()
+ public double getZ()
{
return _Z;
}
GeomConverter/src/org/lcsim/material
diff -u -r1.1 -r1.2
--- MaterialManager.java 30 Jun 2005 00:37:50 -0000 1.1
+++ MaterialManager.java 30 Jun 2005 00:53:16 -0000 1.2
@@ -65,14 +65,28 @@
MaterialElement me = (MaterialElement) MaterialElement.elements().get(elementName);
- if ( me == null )
- {
- System.err.println("element not found: " + elementName);
- }
+ //if ( me == null )
+ //{
+ // System.err.println("element not found: " + elementName);
+ //}
Object o;
return me;
}
+
+ static void addElement(MaterialElement me)
+ {
+ MaterialElement meCheck = (MaterialElement) MaterialManager.getElement( me.name() );
+
+ if ( meCheck == null )
+ {
+ MaterialElement.elements().put(me.name(), me);
+ }
+ else
+ {
+ System.err.println("MaterialElement already exists: " + me.name() );
+ }
+ }
/*
public static String getElementNameFromRef(String ref)
GeomConverter/src/org/lcsim/material
diff -u -r1.8 -r1.9
--- XMLMaterialManager.java 30 Jun 2005 00:35:12 -0000 1.8
+++ XMLMaterialManager.java 30 Jun 2005 00:53:16 -0000 1.9
@@ -849,7 +849,8 @@
}
/* Now that deps are added for this material, make impl object. */
- org.lcsim.material.Material material = materialCnv.makeMaterial(materialElement, lcdd);
- MaterialManager.addMaterial(material);
+ //org.lcsim.material.Material material =
+ materialCnv.makeMaterial(materialElement, lcdd);
+ //MaterialManager.addMaterial(material);
}
}
\ No newline at end of file
GeomConverter/test/org/lcsim/material
diff -u -r1.1 -r1.2
--- MaterialFromGDMLCnvTest.xml 30 Jun 2005 00:37:51 -0000 1.1
+++ MaterialFromGDMLCnvTest.xml 30 Jun 2005 00:53:17 -0000 1.2
@@ -22,7 +22,7 @@
<fraction n="0.5" ref="TestCompositeElementsOnly" />
</material>
- <material name="N" Z="1.0">
+ <material name="TestAtom" Z="1.0">
<D type="density" unit="g/cm3" value="0.0012"/>
<atom value="1.0" />
</material>
CVSspam 0.2.8