2 added + 7 modified, total 9 files
GeomConverter/src/org/lcsim/geometry
diff -u -r1.8 -r1.9
--- Calorimeter.java 28 Oct 2005 00:34:16 -0000 1.8
+++ Calorimeter.java 18 Jan 2006 01:46:24 -0000 1.9
@@ -1,8 +1,5 @@
package org.lcsim.geometry;
-import org.jdom.Element;
-
-import org.lcsim.geometry.layer.Layering;
-import org.lcsim.geometry.Layered;
+import org.lcsim.geometry.subdetector.CalorimeterType;
import org.lcsim.geometry.util.CalorimeterIDDecoder;
/**
@@ -12,6 +9,7 @@
public interface Calorimeter extends Subdetector
{
CalorimeterIDDecoder getCalorimeterIDDecoder();
+ CalorimeterType getCalorimeterType();
// Fixme: This would make sense, but is not provided by compact reader
// so cannot go here.
// double getSamplingFraction();
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.20 -r1.21
--- CompactReader.java 17 Jan 2006 18:42:39 -0000 1.20
+++ CompactReader.java 18 Jan 2006 01:46:24 -0000 1.21
@@ -23,7 +23,7 @@
* org.lcsim.geometry.GeometryReader class, which extends this.
*
* @author tonyj
- * @version $Id: CompactReader.java,v 1.20 2006/01/17 18:42:39 jeremy Exp $
+ * @version $Id: CompactReader.java,v 1.21 2006/01/18 01:46:24 jeremy Exp $
*
*/
public class CompactReader
@@ -158,10 +158,7 @@
Readout r = readoutMap.get(readout);
if (r== null) throw new JDOMException("Unknown readout "+readout);
sub.setReadout(r);
- }
-
- // setup generic parameters in this subdetector
- sub.setParameters(new ParameterSet(detector));
+ }
det.addSubdetector(sub);
}
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.1 -r1.2
--- ParameterSet.java 17 Jan 2006 18:42:39 -0000 1.1
+++ ParameterSet.java 18 Jan 2006 01:46:24 -0000 1.2
@@ -2,6 +2,7 @@
import java.util.Map;
import java.util.HashMap;
+import java.util.Set;
import org.jdom.Element;
/**
@@ -12,7 +13,7 @@
* parameters can be of type Double, Integer, or String.
*
* @author jeremym
- * @version $Id: ParameterSet.java,v 1.1 2006/01/17 18:42:39 jeremy Exp $
+ * @version $Id: ParameterSet.java,v 1.2 2006/01/18 01:46:24 jeremy Exp $
*/
public class ParameterSet
{
@@ -21,13 +22,14 @@
/** Constructor taking the <detector> node for a subdetector. */
protected ParameterSet(Element node)
- {
+ {
convertFromXML(node);
}
/** Convert <parameter> elements within <detector>. */
private void convertFromXML(Element node)
{
+ assert(node != null);
assert(node.getName().compareTo("detector") == 0);
// Iterate over <parameter> elements
@@ -75,6 +77,7 @@
// add the parameter
addParameter(name, convert);
+ System.out.println("added parameter " + name + "=" + convert.toString() );
}
}
@@ -82,7 +85,7 @@
protected ParameterSet()
{}
- /** Adds a parameter to the ParameterSet, checking that the type is valid. */
+ /** Add a parameter to the ParameterSet, checking that the type is valid. */
protected void addParameter(String name, Object object)
{
if ( object instanceof Double || object instanceof Integer || object instanceof String )
@@ -102,8 +105,8 @@
}
}
- /** Returns a named parameter as a generic java Object. */
- protected Object getParameter(String name, Class klass)
+ /** Return a named parameter as a generic java Object. */
+ public Object getParameter(String name, Class klass)
{
Object object = _parameters.get(name);
if ( object.getClass() == klass )
@@ -117,19 +120,31 @@
}
}
- /** Returns a named parameter of type Double. */
+ /** Checks if the parameter exists. */
+ public boolean exists(String name)
+ {
+ return _parameters.containsKey(name);
+ }
+
+ /** Return the list of parameter names. */
+ public Set<String> getParameterNames()
+ {
+ return _parameters.keySet();
+ }
+
+ /** Return a named parameter of type Double. */
public Double getDouble(String name)
{
return (Double)getParameter(name, Double.class);
}
- /** Returns a named parameter of type Integer. */
+ /** Return a named parameter of type Integer. */
public Integer getInteger(String name)
{
return (Integer)getParameter(name, Integer.class);
}
- /** Returns a named parameter of type String. */
+ /** Return a named parameter of type String. */
public String getString(String name)
{
return (String)getParameter(name, String.class);
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.11 -r1.12
--- Subdetector.java 17 Jan 2006 18:42:40 -0000 1.11
+++ Subdetector.java 18 Jan 2006 01:46:24 -0000 1.12
@@ -20,7 +20,7 @@
private ParameterSet _parameters;
protected Subdetector(Element element) throws JDOMException
- {
+ {
name = element.getAttributeValue("name");
Attribute r = element.getAttribute("reflect");
@@ -29,6 +29,9 @@
Attribute id = element.getAttribute("id");
systemID = 0;
if (id != null) systemID = id.getIntValue();
+
+ // Setup the generic parameters
+ _parameters = new ParameterSet(element);
}
protected void setReadout(Readout r)
GeomConverter/src/org/lcsim/geometry/segmentation
diff -N MokkaSegmentation.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ MokkaSegmentation.java 18 Jan 2006 01:46:25 -0000 1.1
@@ -0,0 +1,40 @@
+package org.lcsim.geometry.segmentation;
+
+import org.jdom.Element;
+import org.jdom.DataConversionException;
+
+import org.lcsim.geometry.util.IDDescriptor;
+
+/**
+ * @author jeremym
+ *
+ */
+public class MokkaSegmentation extends SegmentationBase
+{
+ public MokkaSegmentation(Element node) throws DataConversionException
+ {
+ super(node);
+ System.out.println("MokkaSegmentation");
+ }
+
+ public void setIDDescription(IDDescriptor id)
+ {
+ super.setIDDescription(id);
+ }
+
+ public boolean supportsNeighbours()
+ {
+ return true;
+ }
+
+ public long[] getNeighbourIDs(int layerRange, int zRange, int phiRange)
+ {
+ long[] dummy = {0,0,0};
+ return dummy;
+ }
+
+ public long findCellContainingXYZ(double x, double y, double z)
+ {
+ return 0;
+ }
+}
GeomConverter/src/org/lcsim/geometry/subdetector
diff -N CalorimeterType.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CalorimeterType.java 18 Jan 2006 01:46:25 -0000 1.1
@@ -0,0 +1,70 @@
+/*
+ * CalorimeterType.java
+ *
+ * Created on January 17, 2006, 12:24 PM
+ */
+
+package org.lcsim.geometry.subdetector;
+
+/**
+ *
+ * @author jeremym
+ */
+public class CalorimeterType
+{
+ ECalorimeterType _type = ECalorimeterType.OTHER;
+ String _typeName;
+
+ enum ECalorimeterType
+ {
+ FCAL,
+ ECAL,
+ HCAL,
+ MUON,
+ OTHER
+ }
+
+ /** Creates a new instance of CalorimeterType */
+ public CalorimeterType(String typeName)
+ {
+ if ( typeName.compareToIgnoreCase("fcal") == 0 )
+ {
+ _type = ECalorimeterType.FCAL;
+ _typeName = "FCAL";
+ }
+ else if ( typeName.compareToIgnoreCase("ecal") == 0 )
+ {
+ _type = ECalorimeterType.ECAL;
+ _typeName = "ECAL";
+ }
+ else if ( typeName.compareToIgnoreCase("hcal") == 0 )
+ {
+ _type = ECalorimeterType.HCAL;
+ _typeName = "HCAL";
+ }
+ else if ( typeName.compareToIgnoreCase("muon") == 0 )
+ {
+ _type = ECalorimeterType.MUON;
+ _typeName = "MUON";
+ }
+ else {
+ _type = ECalorimeterType.OTHER;
+ _typeName = typeName; // preserve typeName without enum match
+ }
+ }
+
+ ECalorimeterType getType()
+ {
+ return _type;
+ }
+
+ public String getTypeName()
+ {
+ return toString();
+ }
+
+ public String toString()
+ {
+ return _typeName;
+ }
+}
GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.2 -r1.3
--- AbstractCalorimeter.java 28 Oct 2005 00:34:23 -0000 1.2
+++ AbstractCalorimeter.java 18 Jan 2006 01:46:25 -0000 1.3
@@ -15,13 +15,24 @@
*
* @author jeremym
*/
-abstract class AbstractCalorimeter
- extends AbstractLayeredSubdetector implements Calorimeter
-{
+abstract class AbstractCalorimeter
+ extends AbstractLayeredSubdetector implements Calorimeter
+{
+ protected CalorimeterType _calType;
+
/** Creates a new instance of AbstractCalorimeter */
public AbstractCalorimeter(Element node) throws JDOMException
{
- super(node);
+ super(node);
+
+ if ( getParameters().exists("calorimeterType") )
+ {
+ String str = getParameters().getString("calorimeterType");
+ _calType = new CalorimeterType(str);
+ }
+ else {
+ _calType = new CalorimeterType("OTHER");
+ }
}
public CalorimeterIDDecoder getCalorimeterIDDecoder()
@@ -29,6 +40,11 @@
return (CalorimeterIDDecoder)(getReadout().getIDDecoder() );
}
+ public CalorimeterType getCalorimeterType()
+ {
+ return _calType;
+ }
+
public boolean isCalorimeter()
{
return true;
GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.3 -r1.4
--- AbstractSubdetector.java 31 Oct 2005 19:06:20 -0000 1.3
+++ AbstractSubdetector.java 18 Jan 2006 01:46:25 -0000 1.4
@@ -27,11 +27,14 @@
abstract class AbstractSubdetector
extends org.lcsim.geometry.compact.Subdetector
implements HepRepProvider
-{
+{
/** Creates a new instance of AbstractSubdetector */
public AbstractSubdetector(Element node) throws JDOMException
{
- super(node);
+ super(node);
+
+
+
}
public SubdetectorIDDecoder getSubdetectorIDDecoder()
@@ -43,7 +46,7 @@
/** FIXME: Should live in org.lcsim.geometry.heprep or equivalent. */
public void appendHepRep(HepRepFactory factory, HepRep heprep)
{}
-
+
public Layering getLayering()
{
return null;
GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.3 -r1.4
--- TestBeamCalorimeter.java 28 Oct 2005 00:34:24 -0000 1.3
+++ TestBeamCalorimeter.java 18 Jan 2006 01:46:25 -0000 1.4
@@ -26,7 +26,7 @@
*/
public class TestBeamCalorimeter extends AbstractTestBeam
implements Calorimeter
-{
+{
public TestBeamCalorimeter(Element node) throws JDOMException
{
super(node);
@@ -41,4 +41,9 @@
{
return true;
}
+
+ public CalorimeterType getCalorimeterType()
+ {
+ return new CalorimeterType("OTHER");
+ }
}
\ No newline at end of file
CVSspam 0.2.8