5 added + 5 removed + 16 modified, total 26 files
GeomConverter/src/org/lcsim/detector
diff -N IParametersStore.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ IParametersStore.java 22 May 2007 20:02:03 -0000 1.1
@@ -0,0 +1,13 @@
+package org.lcsim.detector;
+
+/**
+ * Access to {@link IParameter} objects for the current detector.
+ *
+ * @author Jeremy McCormick
+ * @version $Id: IParametersStore.java,v 1.1 2007/05/22 20:02:03 jeremy Exp $
+ */
+public interface IParametersStore
+extends IObjectStore<IParameters>
+{
+ public IParameters getParameters(String name);
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector
diff -N ParametersStore.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ParametersStore.java 22 May 2007 20:02:03 -0000 1.1
@@ -0,0 +1,34 @@
+package org.lcsim.detector;
+
+/**
+ * Implementation of [log in to unmask]
+ *
+ * @author Jeremy McCormick
+ * @version $Id: ParametersStore.java,v 1.1 2007/05/22 20:02:03 jeremy Exp $
+ */
+public class ParametersStore
+extends ObjectStore<IParameters>
+implements IParametersStore
+{
+ private static IParametersStore store;
+ public static IParametersStore getInstance()
+ {
+ if (store == null)
+ {
+ store = new ParametersStore();
+ }
+ return store;
+ }
+
+ public IParameters getParameters(String name)
+ {
+ for (IParameters p : this)
+ {
+ if (p.getName().equals(name))
+ {
+ return p;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector
diff -u -r1.25 -r1.26
--- DetectorElement.java 16 May 2007 23:27:38 -0000 1.25
+++ DetectorElement.java 22 May 2007 20:02:03 -0000 1.26
@@ -13,7 +13,7 @@
* Implementation of {@link IDetectorElement}.
*
* @author Jeremy McCormick
- * @version $Id: DetectorElement.java,v 1.25 2007/05/16 23:27:38 jeremy Exp $
+ * @version $Id: DetectorElement.java,v 1.26 2007/05/22 20:02:03 jeremy Exp $
*/
public class DetectorElement
extends Named
@@ -25,7 +25,7 @@
private IDetectorElement parent;
private IIdentifier id;
private IIdentifierHelper helper;
- private IParameters parameters = new Parameters();
+ private IParameters parameters;
private IReadout readout;
/**
@@ -518,4 +518,14 @@
{
return getAncestry().contains(de);
}
+
+ public void setParameters(IParameters parameters)
+ {
+ if (parameters == null)
+ {
+ throw new IllegalArgumentException("The parameters object is null.");
+ }
+ this.parameters = parameters;
+ }
+
}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector
diff -u -r1.1 -r1.2
--- IParameters.java 9 Apr 2007 21:05:27 -0000 1.1
+++ IParameters.java 22 May 2007 20:02:03 -0000 1.2
@@ -3,13 +3,17 @@
import java.util.Set;
/**
- * Interface to named parameters.
+ * Interface to named parameters. Available types are
+ * integer, boolean, double, and string, and arrays of
+ * these types.
*
* @author Jeremy McCormick <[log in to unmask]>
- *
+ * @version $Id: IParameters.java,v 1.2 2007/05/22 20:02:03 jeremy Exp $
*/
public interface IParameters
{
+ public String getName();
+
public Set<String> getStringParameterNames();
public Set<String> getIntegerParameterNames();
public Set<String> getDoubleParameterNames();
GeomConverter/src/org/lcsim/detector
diff -u -r1.1 -r1.2
--- Parameters.java 9 Apr 2007 21:05:27 -0000 1.1
+++ Parameters.java 22 May 2007 20:02:03 -0000 1.2
@@ -3,8 +3,26 @@
import java.util.HashMap;
import java.util.Set;
+/**
+ * Implementation of {@link IParameters}.
+ *
+ * @author Jeremy McCormick
+ * @version $Id: Parameters.java,v 1.2 2007/05/22 20:02:03 jeremy Exp $
+ */
public class Parameters implements IParameters
{
+ String name;
+
+ public Parameters(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
public Set<String> getBooleanArrayParameterNames()
{
return boolArrayParams.keySet();
GeomConverter/src/org/lcsim/detector/converter
diff -u -r1.1 -r1.2
--- XMLConverter.java 15 Mar 2007 02:09:14 -0000 1.1
+++ XMLConverter.java 22 May 2007 20:02:04 -0000 1.2
@@ -21,5 +21,4 @@
public interface XMLConverter
{
public void convert(Element element) throws JDOMException;
- public String getElementName();
}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector/converter/compact
diff -N ParametersConverter.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ParametersConverter.java 22 May 2007 20:02:04 -0000 1.1
@@ -0,0 +1,124 @@
+package org.lcsim.detector.converter.compact;
+
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.lcsim.detector.IParameters;
+import org.lcsim.detector.Parameters;
+import org.lcsim.detector.ParametersStore;
+import org.lcsim.detector.converter.XMLConverter;
+
+/**
+ * Converts parameters from XML to {@link org.lcsim.detector.IParameters}.
+ *
+ * Handles the following XML elements.
+ *
+ * <ul>
+ * <li>intParameter</li>
+ * <li>intArrayParameter</li>
+ * <li>doubleParameter</li>
+ * <li>doubleArrayParameter</li>
+ * <li>stringParameter</li>
+ * <li>stringArrayParameter</li>
+ * </ul>
+ *
+ * All of these must have an attribute called <tt>name</tt> and valid content.
+ *
+ * @author Jeremy McCormick
+ * @version $Id: ParametersConverter.java,v 1.1 2007/05/22 20:02:04 jeremy Exp $
+ */
+
+public class ParametersConverter
+implements XMLConverter
+{
+ public void convert(Element element) throws JDOMException
+ {
+ if (element.getAttribute("name") == null)
+ {
+ throw new RuntimeException("Top element doesn't have a name attribute.");
+ }
+
+ IParameters param = new Parameters(element.getAttributeValue("name"));
+
+ for ( Object o : element.getChildren() )
+ {
+ Element e = (Element)o;
+ String elementName = e.getName();
+ if ( elementName.contains("Parameter"))
+ {
+ if (e.getAttribute("name") == null)
+ {
+ System.out.println("Parameter is missing the name attribute.");
+ }
+
+ String paramName = e.getAttributeValue("name");
+ String value = e.getValue();
+
+ if (value == null)
+ {
+ System.out.println("Parameter <" + paramName + "> is missing a value.");
+ }
+
+ String[] values = value.split(" ");
+
+ if (elementName.equals("integerParameter"))
+ {
+ param.addIntegerParameter(paramName, Integer.parseInt(value));
+ }
+ else if (elementName.equals("integerArrayParameter"))
+ {
+ int[] intValues = new int[values.length];
+ for (int i=0; i<values.length; i++)
+ {
+ if (values[i] != null && !values[i].equals(""))
+ intValues[i] = Integer.parseInt(values[i]);
+ }
+ param.addIntegerArrayParameter(paramName, intValues);
+ }
+ else if (elementName.equals("doubleParameter"))
+ {
+ param.addDoubleParameter(paramName, Double.parseDouble(value));
+ }
+ else if (elementName.equals("doubleArrayParameter"))
+ {
+ double[] doubleValues = new double[values.length];
+ for (int i=0; i<values.length; i++)
+ {
+ if (values[i] != null && !values[i].equals(""))
+ doubleValues[i] = Double.parseDouble(values[i]);
+ }
+ param.addDoubleArrayParameter(paramName, doubleValues);
+ }
+ else if (elementName.equals("stringParameter"))
+ {
+ param.addStringParameter(paramName, value);
+ }
+ else if (elementName.equals("stringArrayParameter"))
+ {
+ String[] stringValues = new String[values.length];
+ for (int i=0; i<values.length; i++)
+ {
+ if (values[i] != null && !values[i].equals(""))
+ stringValues[i] = values[i];
+ };
+ param.addStringArrayParameter(paramName, stringValues);
+ }
+ else if (elementName.equals("booleanParameter"))
+ {
+ param.addBooleanParameter(paramName, Boolean.parseBoolean(value));
+ }
+ else if (elementName.equals("booleanArrayParameter"))
+ {
+ boolean[] booleanValues = new boolean[values.length];
+ for (int i=0; i<values.length; i++)
+ {
+ if (values[i] != null && !values[i].equals(""))
+ booleanValues[i] = Boolean.parseBoolean(values[i]);
+ }
+ param.addBooleanArrayParameter(paramName, booleanValues);
+ }
+ }
+ }
+
+ ParametersStore.getInstance().add(param);
+ }
+}
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.17 -r1.18
--- DetectorConverter.java 18 May 2007 23:47:33 -0000 1.17
+++ DetectorConverter.java 22 May 2007 20:02:04 -0000 1.18
@@ -12,6 +12,7 @@
import org.lcsim.detector.ILogicalVolume;
import org.lcsim.detector.IPhysicalVolume;
import org.lcsim.detector.LogicalVolume;
+import org.lcsim.detector.ParametersStore;
import org.lcsim.detector.PhysicalVolume;
import org.lcsim.detector.PhysicalVolumeNavigatorStore;
import org.lcsim.detector.converter.lcdd.MaterialElementConverter;
@@ -127,6 +128,8 @@
private void convertSubdetectors(Detector detector)
{
+ ParametersConverter paramCnv = new ParametersConverter();
+
// Loop over all compact Subdetectors in the Detector.
for ( Map.Entry<String,Subdetector> entry : detector.getSubdetectors().entrySet())
{
@@ -142,14 +145,27 @@
// Subdetector converters may need this to be done first.
IIdentifierDictionary iddict = createIdentifierDictionary( subdet );
+ // Converter parameters.
+ try {
+ paramCnv.convert(subdet.getNode());
+ }
+ catch ( JDOMException x )
+ {
+ throw new RuntimeException(x);
+ }
+
// Convert from a compact type to the generic detector description
// using a registered converter.
cnv.convert(subdet, detector);
- // Now assign the IdentifierHelper to the DetectorElement after it has been built.
+ // If this subdetector was converted, it should have a DetectorElement.
if ( subdet.getDetectorElement() != null )
{
+ // Set the IdentifierHelper.
((DetectorElement)subdet.getDetectorElement()).setIdentifierHelper( new IdentifierHelper( iddict ) );
+
+ // Set the Parameters.
+ ((DetectorElement)subdet.getDetectorElement()).setParameters(ParametersStore.getInstance().getParameters(subdet.getName()));
}
}
}
GeomConverter/src/org/lcsim/detector/converter/lcdd
diff -u -r1.1 -r1.2
--- MaterialElementConverter.java 15 Mar 2007 02:09:15 -0000 1.1
+++ MaterialElementConverter.java 22 May 2007 20:02:05 -0000 1.2
@@ -50,11 +50,5 @@
else {
throw new JDOMException("Invalid element <" + element.getName() + "> for MaterialElementConverter.");
}
- }
-
- private static final String elementString = "element";
- public String getElementName()
- {
- return elementString;
- }
+ }
}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector/converter/lcdd
diff -u -r1.1 -r1.2
--- MaterialMixtureConverter.java 15 Mar 2007 02:09:15 -0000 1.1
+++ MaterialMixtureConverter.java 22 May 2007 20:02:05 -0000 1.2
@@ -144,13 +144,7 @@
else {
throw new JDOMException("Invalid element <" + element.getName() + "> for MaterialMixtureConverter.");
}
- }
-
- private static final String elementString = "material";
- public String getElementName()
- {
- return elementString;
- }
+ }
}
/*
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.4 -r1.5
--- IIdentifiable.java 11 May 2007 00:21:09 -0000 1.4
+++ IIdentifiable.java 22 May 2007 20:02:05 -0000 1.5
@@ -1,17 +1,12 @@
package org.lcsim.detector.identifier;
/**
- * A mix-in interface for objects that have an associated
- * 64-bit detector identifier or {@link IIdentifier}.
- *
- * Each {@link IIdentifiable} object can also return the
- * unpacked {@link IExpandedIdentifier} object and the
- * {@link IIdentifierHelper} that contains the
- * {@link IIdentifierDictionary} for packing and
- * unpacking identifiers of this object.
+ * A mix-in interface for objects that have an associated {@link IIdentifier},
+ * corresponding {@IExpandedIdentifier}, and an {@link IIdentifierHelper}
+ * for performing pack and unpack operations on these objects.
*
- * @author jeremym
- * @version $Id: IIdentifiable.java,v 1.4 2007/05/11 00:21:09 jeremy Exp $
+ * @author Jeremy McCormick
+ * @version $Id: IIdentifiable.java,v 1.5 2007/05/22 20:02:05 jeremy Exp $
*/
public interface IIdentifiable
{
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.4 -r1.5
--- IIdentifierDictionary.java 18 May 2007 23:47:33 -0000 1.4
+++ IIdentifierDictionary.java 22 May 2007 20:02:05 -0000 1.5
@@ -3,12 +3,12 @@
import java.util.Map;
/**
- * Holds the specification for the fields of an identifier.
+ * Holds an ordered and mapped list of {@IIdentifierField} objects
+ * that define the fields of an [log in to unmask]
*
* @author Jeremy McCormick
- * @version $Id: IIdentifierDictionary.java,v 1.4 2007/05/18 23:47:33 jeremy Exp $
+ * @version $Id: IIdentifierDictionary.java,v 1.5 2007/05/22 20:02:05 jeremy Exp $
*/
-
public interface IIdentifierDictionary
{
/**
GeomConverter/src/org/lcsim/detector/identifier
diff -u -r1.8 -r1.9
--- IdentifierHelper.java 19 May 2007 00:39:51 -0000 1.8
+++ IdentifierHelper.java 22 May 2007 20:02:05 -0000 1.9
@@ -2,10 +2,10 @@
/**
*
- * Implementation of {@link IIdentifierHelper}.
+ * Implementation of {@link IIdentifierHelper}.
*
* @author Jeremy McCormick
- * @version $Id: IdentifierHelper.java,v 1.8 2007/05/19 00:39:51 jeremy Exp $
+ * @version $Id: IdentifierHelper.java,v 1.9 2007/05/22 20:02:05 jeremy Exp $
*/
public class IdentifierHelper
GeomConverter/src/org/lcsim/geometry
diff -u -r1.12 -r1.13
--- Calorimeter.java 8 Feb 2006 01:01:38 -0000 1.12
+++ Calorimeter.java 22 May 2007 20:02:06 -0000 1.13
@@ -1,5 +1,4 @@
package org.lcsim.geometry;
-import org.lcsim.geometry.subdetector.CalorimeterType;
/**
*
@@ -7,5 +6,5 @@
*/
public interface Calorimeter extends Subdetector
{
- public CalorimeterType getCalorimeterType();
+ //public CalorimeterType getCalorimeterType();
}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry
diff -u -r1.20 -r1.21
--- Subdetector.java 11 May 2007 00:21:09 -0000 1.20
+++ Subdetector.java 22 May 2007 20:02:06 -0000 1.21
@@ -1,7 +1,6 @@
package org.lcsim.geometry;
import org.lcsim.detector.IDetectorElement;
-import org.lcsim.geometry.compact.ParameterSet;
import org.lcsim.geometry.compact.VisAttributes;
import org.lcsim.geometry.layer.Layering;
@@ -22,7 +21,7 @@
*/
@Deprecated
public Layering getLayering();
- public ParameterSet getParameterSet();
+ //public ParameterSet getParameterSet();
public VisAttributes getVisAttributes();
public boolean isTracker();
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.18 -r1.19
--- Subdetector.java 20 Apr 2007 00:16:54 -0000 1.18
+++ Subdetector.java 22 May 2007 20:02:06 -0000 1.19
@@ -22,7 +22,7 @@
private Readout readout;
private String name;
private int systemID;
- private ParameterSet _parameters;
+ //private ParameterSet _parameters;
private VisAttributes vis;
private Element node;
private IDetectorElement de;
@@ -43,7 +43,7 @@
if (id != null) systemID = id.getIntValue();
// Setup the generic parameters
- _parameters = new ParameterSet(element);
+ //_parameters = new ParameterSet(element);
}
protected void setReadout(Readout r)
@@ -61,6 +61,7 @@
return readout;
}
+ /*
public void setParameters(ParameterSet parameters)
{
_parameters = parameters;
@@ -70,6 +71,7 @@
{
return _parameters;
}
+ */
public IDDecoder getIDDecoder()
{
GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.6 -r1.7
--- AbstractCalorimeter.java 9 Apr 2007 21:05:30 -0000 1.6
+++ AbstractCalorimeter.java 22 May 2007 20:02:07 -0000 1.7
@@ -9,43 +9,19 @@
import org.jdom.Element;
import org.jdom.JDOMException;
import org.lcsim.geometry.Calorimeter;
-import org.lcsim.geometry.subdetector.CalorimeterType;
/**
*
- * @author jeremym
+ * @author Jeremy McCormick
*/
abstract class AbstractCalorimeter
extends AbstractLayeredSubdetector implements Calorimeter
-{
- protected CalorimeterType _calType;
- private static final String _typeParamStr = "CALTYPE";
-
+{
public AbstractCalorimeter(Element node) throws JDOMException
{
super(node);
-
- if ( getParameterSet().exists(_typeParamStr) )
- {
- String str = getParameterSet().getString(_typeParamStr);
- _calType = CalorimeterType.convertStringToCalorimeterType(str);
- }
- else {
-// System.err.println("WARNING: no CALTYPE specified for calorimeter " + node.getAttributeValue("name"));
- _calType = CalorimeterType.UNKNOWN;
- }
}
-
-// public CalorimeterIDDecoder getCalorimeterIDDecoder()
-// {
-// return (CalorimeterIDDecoder)(getReadout().getIDDecoder() );
-// }
-
- public CalorimeterType getCalorimeterType()
- {
- return _calType;
- }
-
+
public boolean isCalorimeter()
{
return true;
GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.7 -r1.8
--- TestBeamCalorimeter.java 6 Mar 2007 20:22:27 -0000 1.7
+++ TestBeamCalorimeter.java 22 May 2007 20:02:07 -0000 1.8
@@ -1,10 +1,3 @@
-/*
- * TestBeamCalorimeter.java
- *
- * Created on September 2, 2005, 3:43 PM
- *
- */
-
package org.lcsim.geometry.subdetector;
import org.jdom.Element;
@@ -12,7 +5,7 @@
import org.lcsim.geometry.Calorimeter;
/**
- * @author jeremym
+ * @author Jeremy McCormick
*/
public class TestBeamCalorimeter extends AbstractTestBeam
implements Calorimeter
@@ -21,19 +14,9 @@
{
super(node);
}
-
-// public CalorimeterIDDecoder getCalorimeterIDDecoder()
-// {
-// return (CalorimeterIDDecoder)(getReadout().getIDDecoder() );
-// }
-
+
public boolean isCalorimeter()
{
return true;
}
-
- public CalorimeterType getCalorimeterType()
- {
- return CalorimeterType.UNKNOWN;
- }
}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry/subdetector
diff -N CalorimeterType.java
--- CalorimeterType.java 24 Feb 2007 00:46:03 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,139 +0,0 @@
-/*
- * CalorimeterType.java
- *
- * Created on January 17, 2006, 12:24 PM
- */
-
-package org.lcsim.geometry.subdetector;
-
-/**
- *
- * This enum specifies the general type of a calorimeter Subdetector.
- * Valid types include HCal, ECal, Muon, and FCal. It can be used to modify
- * the behavior of algorithms that should only be performed on hits from
- * certain types of calorimeters.
- *
- * @author jeremym
- */
-// FIXME: Change this to SubdetectorType and add the trackers (only a few types)
-public enum CalorimeterType
-{
- FCAL("FCAL"),
- ECAL("ECAL"),
- HCAL("HCAL"),
- MUON("MUON"),
- LUMI("LUMI"),
- UNKNOWN("UNKNOWN");
-
- /*
- add for subdet type...
-
- vertex_detector
- silicon_tracker
- tpc
- generic_tracker
-
- above should be...
-
- forward_calorimeter
- em_calorimeter
- had_calorimeter
- muon_calorimeter
- luminosity_monitor
- generic_calorimeter
- */
-
- String _typeName;
-
- CalorimeterType(String typeName)
- {
- _typeName = typeName;
- }
-
- public static CalorimeterType convertStringToCalorimeterType(String str)
- {
- if ( str.compareToIgnoreCase("ecal") == 0 || str.compareToIgnoreCase("em") == 0 )
- {
- return ECAL;
- }
- else if ( str.compareToIgnoreCase("fcal") == 0 )
- {
- return FCAL;
- }
- else if ( str.compareToIgnoreCase("hcal") == 0 || str.compareToIgnoreCase("had") == 0 )
- {
- return HCAL;
- }
- else if ( str.compareToIgnoreCase("muon") == 0 )
- {
- return MUON;
- }
- else if ( str.compareToIgnoreCase("lumi") == 0 )
- {
- return LUMI;
- }
-
- return UNKNOWN;
- }
-
- public static String convertECalorimeterTypeToString(CalorimeterType caltype)
- {
- if ( caltype == ECAL )
- {
- return "ECAL";
- }
- else if ( caltype == FCAL )
- {
- return "FCAL";
- }
- else if ( caltype == HCAL)
- {
- return "HCAL";
- }
- else if ( caltype == MUON)
- {
- return "MUON";
- }
- else if ( caltype == LUMI)
- {
- return "LUMI";
- }
-
- return "UNKNOWN";
- }
-
- public String getTypeName()
- {
- return toString();
- }
-
- public String toString()
- {
- return _typeName;
- }
-
- public boolean isHcal()
- {
- return this == HCAL;
- }
-
- public boolean isEcal()
- {
- return this == ECAL;
- }
-
- public boolean isMuon()
- {
- return this == MUON;
- }
-
- public boolean isFcal()
- {
- return this == FCAL;
- }
-
- public boolean isUnknown()
- {
- return this == UNKNOWN;
- }
-}
GeomConverter/test/org/lcsim/detector
diff -u -r1.1 -r1.2
--- ParametersTest.java 9 Apr 2007 21:05:32 -0000 1.1
+++ ParametersTest.java 22 May 2007 20:02:07 -0000 1.2
@@ -5,7 +5,7 @@
public class ParametersTest extends TestCase
{
- private IParameters parameters = new Parameters();
+ private IParameters parameters = new Parameters("test");
public ParametersTest(String name)
{
GeomConverter/test/org/lcsim/detector/converter/compact
diff -N ParametersConverterTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ParametersConverterTest.java 22 May 2007 20:02:07 -0000 1.1
@@ -0,0 +1,81 @@
+package org.lcsim.detector.converter.compact;
+
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.lcsim.detector.IParameters;
+import org.lcsim.geometry.Detector;
+import org.lcsim.geometry.GeometryReader;
+
+/**
+ * Tests {@link ParametersConverter} by reading the resource
+ * ParametersConverterTest.xml and checking the converted values
+ * for correctness.
+ *
+ * @author Jeremy McCormick
+ * @version $Id: ParametersConverterTest.java,v 1.1 2007/05/22 20:02:07 jeremy Exp $
+ */
+public class ParametersConverterTest
+extends TestCase
+{
+ private Detector detector;
+
+ public ParametersConverterTest(String name)
+ {
+ super(name);
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new TestSuite(ParametersConverterTest.class);
+ }
+
+ private static final String resource = "/org/lcsim/detector/converter/compact/ParametersConverterTest.xml";
+ public void setUp()
+ {
+ InputStream in =
+ this.getClass().
+ getResourceAsStream(resource);
+ GeometryReader reader = new GeometryReader();
+ try {
+ detector = reader.read(in);
+ }
+ catch ( Throwable x )
+ {
+ throw new RuntimeException(x);
+ }
+ }
+
+ public void testParameters() throws Exception
+ {
+ IParameters param = detector.getSubdetector("test").getDetectorElement().getParameters();
+ assertTrue( param != null );
+
+ assertEquals(param.getIntegerParameter("int"), 1);
+ int[] intArray = param.getIntegerArrayParameter("intArray");
+ assertEquals(intArray[0], 1);
+ assertEquals(intArray[1], 2);
+ assertEquals(intArray[2], 3);
+ assertEquals(intArray[3], 4);
+
+ assertEquals(param.getDoubleParameter("double"), 1.0);
+ double[] doubleArray = param.getDoubleArrayParameter("doubleArray");
+ assertEquals(doubleArray[0], 1.1);
+ assertEquals(doubleArray[1], 2.2);
+ assertEquals(doubleArray[2], 3.3);
+ assertEquals(doubleArray[3], 4.4);
+
+ assertEquals(param.getBooleanParameter("boolean"), true);
+ boolean[] booleanArray = param.getBooleanArrayParameter("booleanArray");
+ assertEquals(booleanArray[0], true);
+ assertEquals(booleanArray[1], false);
+
+ assertEquals(param.getStringParameter("string"), "foo");
+ String[] stringArray = param.getStringArrayParameter("stringArray");
+ assertEquals(stringArray[0], "foo");
+ assertEquals(stringArray[1], "bar");
+ assertEquals(stringArray[2], "baz");
+ }
+}
\ No newline at end of file
GeomConverter/test/org/lcsim/detector/converter/compact
diff -N ParametersConverterTest.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ParametersConverterTest.xml 22 May 2007 20:02:07 -0000 1.1
@@ -0,0 +1,62 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+
+ <info name="test_detector">
+ <comment>Compact file for testing org.lcsim.detector.</comment>
+ </info>
+
+ <!-- Constants -->
+ <define>
+
+ <!-- world -->
+ <constant name="world_side" value="30000" />
+ <constant name="world_x" value="world_side" />
+ <constant name="world_y" value="world_side" />
+ <constant name="world_z" value="world_side" />
+
+ <!-- tracking region -->
+ <constant name="tracking_region_radius" value="0.1*cm"/>
+ <constant name="tracking_region_zmax" value="0.1*cm"/>
+ </define>
+
+ <materials>
+ </materials>
+
+ <detectors>
+
+ <!-- Electromagnetic calorimeter -->
+
+ <detector id="1" name="test" type="CylindricalBarrelCalorimeter" readout="EcalBarrHits">
+ <dimensions inner_r = "100.0*cm" outer_z = "200.0*cm" />
+ <layer repeat="2">
+ <slice material = "Silicon" thickness = "10.0*cm" sensitive = "yes" />
+ </layer>
+
+ <integerParameter name="int">1</integerParameter>
+ <integerArrayParameter name="intArray">1 2 3 4</integerArrayParameter>
+ <doubleParameter name="double">1.0</doubleParameter>
+ <doubleArrayParameter name="doubleArray">1.1 2.2 3.3 4.4</doubleArrayParameter>
+ <booleanParameter name="boolean">true</booleanParameter>
+ <booleanArrayParameter name="booleanArray">true false</booleanArrayParameter>
+ <stringParameter name="string">foo</stringParameter>
+ <stringArrayParameter name="stringArray">foo bar baz</stringArrayParameter>
+
+ </detector>
+ </detectors>
+
+ <readouts>
+ <readout name="EcalBarrHits">
+ <segmentation type="ProjectiveCylinder" thetaBins="1000" phiBins="2000"/>
+ <id>layer:7,system:3,barrel:3,theta:32:11,phi:11</id>
+ </readout>
+ </readouts>
+
+ <fields>
+ <field type="Solenoid" name="GlobalSolenoid"
+ inner_field="5.0"
+ outer_field="-0.6"
+ zmax="1000"
+ outer_radius="(221.0+ 5.0 + 17.5 + 40./2.)*cm"/> <!-- SolenoidCoilBarrel inner_radius + Al support + Oxygen gap + half coil-->
+ </fields>
+</lccdd>
\ No newline at end of file
GeomConverter/test/org/lcsim/geometry/compact
diff -N ParameterSetTest.xml
--- ParameterSetTest.xml 16 Feb 2006 00:57:13 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
- xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
- xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
-
- <!-- info tag containing author, version, time, unique id (url) -->
- <info name="ParameterSetTest"
- author="Jeremy McCormick">
- </info>
-
- <!-- Constants -->
- <define>
-
- <constant name="cm" value="10"/>
- <!-- world -->
- <constant name="world_side" value="15000" />
- <constant name="world_x" value="world_side" />
- <constant name="world_y" value="world_side" />
- <constant name="world_z" value="world_side" />
-
- <!-- tracking region -->
- <constant name="tracking_region_radius" value="127.0*cm"/>
- <constant name="tracking_region_zmax" value="168.0*cm"/>
-
- </define>
-
- <materials>
- </materials>
-
- <limits>
- </limits>
-
- <regions>
- </regions>
-
- <detectors>
-
- <detector id="0" name="ParameterSetTest" type="CylindricalBarrelCalorimeter" readout="EcalBarrHits">
- <dimensions inner_r = "127.0*cm" outer_z = "184.0*cm" />
- <layer repeat="1">
- <slice material = "Silicon" thickness = "0.04*cm" sensitive = "yes" />
- </layer>
-
- <!-- test parameters with value attributes -->
- <parameter name="p1" type="string" value="ecal" />
- <parameter name="p2" type="double" value="2.0" />
- <parameter name="p3" type="integer" value="1" />
-
- <!-- test parameters with text data -->
- <parameter name="p4" type="string">ecal</parameter>
- <parameter name="p5" type="double">2.0</parameter>
- <parameter name="p6" type="integer">1</parameter>
-
- </detector>
- </detectors>
-
- <readouts>
- <readout name="EcalBarrHits">
- <segmentation type="ProjectiveCylinder" thetaBins="840" phiBins="1680"/>
- <id>layer:7,system:3,barrel:3,theta:32:11,phi:11</id>
- </readout>
- </readouts>
-
- <fields>
- </fields>
-</lccdd>
GeomConverter/test/org/lcsim/geometry/compact
diff -N ParameterSet_ClassTest.java
--- ParameterSet_ClassTest.java 16 May 2007 23:27:38 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-package org.lcsim.geometry.compact;
-
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.lcsim.geometry.compact.ParameterSet;
-
-
-/**
- *
- * @author jeremym
- * @version $Id: ParameterSet_ClassTest.java,v 1.2 2007/05/16 23:27:38 jeremy Exp $
- */
-public class ParameterSet_ClassTest extends TestCase
-{
- public ParameterSet_ClassTest()
- {
- }
-
- public static junit.framework.Test suite()
- {
- return new TestSuite(ParameterSet_ClassTest.class);
- }
-
- public static void testParameterSet() throws Exception
- {
- ParameterSet parameterSet = new ParameterSet();
-
- String p1 = "xyz123";
- int p2 = 1;
- double p3 = 2.0;
-
- parameterSet.addParameter("string", p1);
- parameterSet.addParameter("int", p2);
- parameterSet.addParameter("double", p3);
-
- String p1_chk = parameterSet.getString("string");
- assertTrue(p1_chk != null);
- assertTrue(p1_chk.compareTo(p1) == 0);
-
- Integer p2_chk = parameterSet.getInteger("int");
- assertTrue(p2_chk != null);
- assertTrue(p2_chk == 1);
-
- Double p3_chk = parameterSet.getDouble("double");
- assertTrue(p3_chk != null);
- assertTrue(p3_chk == 2.0);
-
- p1_chk = (String)parameterSet.getParameter("string", String.class);
- assertTrue(p1_chk != null);
-
- p2_chk = (Integer)parameterSet.getParameter("int", Integer.class);
- assertTrue(p2_chk != null);
-
- p3_chk = (Double)parameterSet.getParameter("double", Double.class);
- assertTrue(p3_chk != null);
- }
-}
-
GeomConverter/test/org/lcsim/geometry/compact
diff -N ParameterSet_XMLTest.java
--- ParameterSet_XMLTest.java 16 May 2007 23:27:38 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-package org.lcsim.geometry.compact;
-
-import java.io.IOException;
-import junit.framework.*;
-import java.io.InputStream;
-import org.jdom.JDOMException;
-import org.lcsim.util.xml.ElementFactory.ElementCreationException;
-
-/**
- *
- * @author tonyj
- */
-public class ParameterSet_XMLTest extends TestCase
-{
- Detector det = null;
-
- public ParameterSet_XMLTest(String testName)
- {
- super(testName);
- }
-
- public static Test suite()
- {
- return new TestSuite(ParameterSet_XMLTest.class);
- }
-
- protected void setUp() throws Exception
- {
- InputStream in = ParameterSet_XMLTest.class.getResourceAsStream("ParameterSetTest.xml");
- CompactReader reader = new CompactReader();
- det = reader.read(in);
- }
-
- public void testParameterSet()
- {
- Subdetector subdet = det.getSubdetector("ParameterSetTest");
- ParameterSet params = subdet.getParameterSet();
-
- assertTrue(params.getString("p1").compareTo("ecal") == 0);
- assertTrue(params.getDouble("p2") == 2.0);
- assertTrue(params.getInteger("p3") == 1);
- assertTrue(params.getString("p4").compareTo("ecal") == 0);
- assertTrue(params.getDouble("p5") == 2.0);
- assertTrue(params.getInteger("p6") == 1);
-
- }
-}
\ No newline at end of file
GeomConverter/test/org/lcsim/geometry/subdetector
diff -N CalorimeterTypeTest.java
--- CalorimeterTypeTest.java 16 May 2007 23:27:38 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-/*
- * CylindricalBarrelCalorimeterTest.java
- *
- * Created on June 15, 2005, 12:00 PM
- */
-
-package org.lcsim.geometry.subdetector;
-
-import java.io.InputStream;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.lcsim.geometry.GeometryReader;
-import org.lcsim.geometry.compact.Detector;
-import org.lcsim.geometry.Calorimeter;
-
-/**
- *
- * @author jeremym
- */
-public class CalorimeterTypeTest extends TestCase
-{
- Detector det;
-
- /** Creates a new instance of CylindricalBarrelCalorimeterTest */
- public CalorimeterTypeTest()
- {
- }
-
- protected void setUp() throws java.lang.Exception
- {
- InputStream in = this.getClass().getResourceAsStream("/org/lcsim/geometry/compact/sdjan03_compact.xml");
-
- GeometryReader reader = new GeometryReader();
- det = reader.read(in);
- }
-
- public static junit.framework.Test suite()
- {
- return new TestSuite(CalorimeterTypeTest.class);
- }
-
- public void testCalorimeterType()
- {
- Calorimeter ecalBarr = (Calorimeter)det.getSubdetector("EMBarrel");
- Calorimeter ecalEndcap = (Calorimeter)det.getSubdetector("EMEndcap");
-
- Calorimeter hcalBarr = (Calorimeter)det.getSubdetector("HADBarrel2");
- Calorimeter hcalEndcap = (Calorimeter)det.getSubdetector("HAD_ENDCAP");
-
- Calorimeter muBarr = (Calorimeter)det.getSubdetector("MUON_BARREL");
- Calorimeter muEndcap = (Calorimeter)det.getSubdetector("MUON_ENDCAP");
-
- assertTrue(ecalBarr.getCalorimeterType().isEcal());
- assertTrue(ecalBarr.getCalorimeterType() == CalorimeterType.ECAL);
-
- assertTrue(ecalEndcap.getCalorimeterType().isEcal());
- assertTrue(ecalEndcap.getCalorimeterType() == CalorimeterType.ECAL);
-
- assertTrue(hcalBarr.getCalorimeterType().isHcal());
- assertTrue(hcalBarr.getCalorimeterType() == CalorimeterType.HCAL);
-
- assertTrue(hcalEndcap.getCalorimeterType().isHcal());
- assertTrue(hcalEndcap.getCalorimeterType() == CalorimeterType.HCAL);
-
- assertTrue(muBarr.getCalorimeterType().isMuon());
- assertTrue(muBarr.getCalorimeterType() == CalorimeterType.MUON);
-
- assertTrue(muEndcap.getCalorimeterType().isMuon());
- assertTrue(muEndcap.getCalorimeterType() == CalorimeterType.MUON);
- }
-}
CVSspam 0.2.8