GeomConverter/src/org/lcsim/geometry/segmentation
diff -u -r1.15 -r1.16
--- NonprojectiveCylinder.java 24 Aug 2005 06:10:57 -0000 1.15
+++ NonprojectiveCylinder.java 1 Oct 2005 13:52:18 -0000 1.16
@@ -131,7 +131,7 @@
public long[] getNeighbourIDs(int layerRange, int zRange, int phiRange)
{
// System.out.println("Entering getNeighbourIDs: dl="+layerRange
-// +", dz="+zRange+", dphi="+phiRange+", id="+printID(decoder,encoder) );
+// +", dz="+zRange+", dphi="+phiRange+", id="+printID(decoder) );
IDEncoder gnEncoder = new IDEncoder( descriptor );
IDDecoder gnDecoder = new IDDecoder( descriptor );
gnEncoder.setValues(values);
@@ -217,7 +217,6 @@
/**
* Return the cell which contains a given point (x,y,z), or null.
- * Side effect: encoder will be reset to the ID returned by this method.(not anymore...???)
*
* @param x,y,z cartesian coordinates of the point
* @return ID of cell containing the point (maybe either in
@@ -227,20 +226,16 @@
// validate point
if(z<getZMin()) {
- System.out.println("find: fail z<zmin: z="+z);
return 0;
}
if(z>getZMax()) {
- System.out.println("find: fail z>zmax: z="+z);
return 0;
}
double rho = Math.sqrt(x*x+y*y);
if(rho<getRMin()) {
- System.out.println("find: fail rho<Rmin: rho="+rho);
return 0;
}
if(rho>getRMax()) {
- System.out.println("find: fail rho>Rmax: rho="+rho);
return 0;
}
@@ -253,12 +248,11 @@
int iphi = getPhiBin(ilay,phi);
IDEncoder enc = new IDEncoder(descriptor);
- enc.setValue("layer",ilay);
+ enc.setValues(values);
+ enc.setValue(layerIndex,ilay);
enc.setValue(zIndex,iz);
enc.setValue(phiIndex,iphi);
- long resultID = enc.getID();
-
- return resultID;
+ return enc.getID();
}
public int getLayerBin(double r) {
@@ -323,14 +317,18 @@
return this.getRMin() + preLayers + layer.getThicknessToSensitiveMid();
}
- private String printID(IDDecoder dec, IDEncoder enc) {
- String ret = "decoder: <"+dec.getValue("layer")
- +" "+dec.getValue("z")
- +" "+dec.getValue("phi")+">";
- ret += " --- encoder: "+printID(enc.getID());
+ private String printID(IDDecoder dec) {
+ String ret = "decoder: <"+dec.getValue("system")
+ +" "+dec.getValue(layerIndex)
+ +" "+dec.getValue(zIndex)
+ +" "+dec.getValue(phiIndex)+"> ";
return ret;
}
+ private String printID(IDEncoder enc) {
+ return "encoder: "+printID( enc.getID() );
+ }
+
public static String printID(long id) {
return new String("<"+Long.toHexString(id)
+": "+Integer.toString( getSysBE(id) )