GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.3 -r1.4
--- Solenoid.java 5 May 2006 23:43:10 -0000 1.3
+++ Solenoid.java 25 Apr 2011 22:07:07 -0000 1.4
@@ -5,26 +5,43 @@
import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
/**
- *
+ *
* @author tonyj
*/
class Solenoid extends LCDDField
{
- private Element node;
- Solenoid(Element element)
- {
- super(element);
- this.node = element;
- }
- void addToLCDD(LCDD lcdd) throws JDOMException
- {
- org.lcsim.geometry.compact.converter.lcdd.util.Solenoid sol = new org.lcsim.geometry.compact.converter.lcdd.util.Solenoid(getName());
- sol.setInnerField(node.getAttribute("inner_field").getDoubleValue());
- sol.setOuterField(node.getAttribute("outer_field").getDoubleValue());
- sol.setZMax(node.getAttribute("zmax").getDoubleValue());
- // My inner radius is jeremy's outer radius
- sol.setInnerRadius(node.getAttribute("outer_radius").getDoubleValue());
- lcdd.add(sol);
- //lcdd.setGlobalField(sol);
- }
+ private Element node;
+
+ boolean setExplicitly = false;
+
+ Solenoid(Element element)
+ {
+ super(element);
+ this.node = element;
+ }
+
+ void addToLCDD(LCDD lcdd) throws JDOMException
+ {
+ org.lcsim.geometry.compact.converter.lcdd.util.Solenoid sol = new org.lcsim.geometry.compact.converter.lcdd.util.Solenoid(getName());
+
+ sol.setInnerField(node.getAttribute("inner_field").getDoubleValue());
+ sol.setOuterField(node.getAttribute("outer_field").getDoubleValue());
+
+ sol.setZMax(node.getAttribute("zmax").getDoubleValue());
+
+ // Inner radius is set explicitly in compact.
+ if (node.getAttribute("inner_radius") != null)
+ {
+ sol.setInnerRadius(node.getAttribute("inner_radius").getDoubleValue());
+ sol.setOuterRadius(node.getAttribute("outer_radius").getDoubleValue());
+ }
+ // Inner radius not set so use default assumption.
+ else
+ {
+ // My inner radius is Jeremy's outer radius. TJ
+ sol.setInnerRadius(node.getAttribute("outer_radius").getDoubleValue());
+ }
+
+ lcdd.add(sol);
+ }
}
GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd/util
diff -u -r1.3 -r1.4
--- Solenoid.java 5 May 2006 23:43:10 -0000 1.3
+++ Solenoid.java 25 Apr 2011 22:07:07 -0000 1.4
@@ -5,29 +5,37 @@
* @author tonyj
*/
public class Solenoid extends Field
-{
-
+{
/** Creates a new instance of Solenoid */
public Solenoid(String name)
{
super("solenoid", name);
- setAttribute("outer_radius","world_side");
+ setAttribute("outer_radius", "world_side");
}
+
public void setInnerField(double field)
{
setAttribute("inner_field",String.valueOf(field));
}
+
public void setOuterField(double field)
{
setAttribute("outer_field",String.valueOf(field));
}
+
public void setInnerRadius(double radius)
{
setAttribute("inner_radius",String.valueOf(radius));
}
+
+ public void setOuterRadius(double radius)
+ {
+ setAttribute("outer_radius",String.valueOf(radius));
+ }
+
public void setZMax(double z)
{
setAttribute("zmax",String.valueOf(z));
setAttribute("zmin",String.valueOf(-z));
}
-}
+}
\ No newline at end of file