Commit in lcsim/test/org/lcsim/detector/driver on MAIN
TrackerEndcapDigitizationDriverTest.java+117-1171.1 -> 1.2
Commit in GeomConverter/src/org/lcsim/detector on MAIN
tracker/silicon/SiStrips.java+1-11.12 -> 1.13
converter/compact/SiTrackerEndcapConverter.java+25-191.18 -> 1.19
+143-137
3 modified files
Fixed problem with automatic strip numbering

lcsim/test/org/lcsim/detector/driver
TrackerEndcapDigitizationDriverTest.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TrackerEndcapDigitizationDriverTest.java	6 Dec 2007 22:29:59 -0000	1.1
+++ TrackerEndcapDigitizationDriverTest.java	7 Dec 2007 22:19:50 -0000	1.2
@@ -38,122 +38,122 @@
  */
 public class TrackerEndcapDigitizationDriverTest extends TestCase
 {
-	public TrackerEndcapDigitizationDriverTest(String testName)
-	{
-		super(testName);
-	}
-
-	public static Test suite()
-	{
-		return new TestSuite(TrackerEndcapDigitizationDriverTest.class);
-	}
-
-	public void setUp()
-	{
-		java.lang.Runtime.getRuntime().gc();
-	}
-
-	public void testReadout() throws Exception
-	{
-
-		System.out.println("\n"+"STARTING!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
-
-
-		URL url = new URL("http://www.lcsim.org/test/lcio/mu-_10GeV_SLIC-v2r3p10_geant4-v9r0p1_LCPhys_SiTrackerEndcapTest00.slcio");
-
-		FileCache cache = new FileCache();
-		File file = cache.getCachedFile(url);
-
-		LCSimLoop loop = new LCSimLoop();
-		loop.setLCIORecordSource(file);
-		loop.add( new SimTrackerHitIdentifierReadoutDriver(new String[] {"SiTrackerEndcap_RO"} ) );
-		loop.add( new TestDriver() );
-		loop.loop(10, null);
-		loop.dispose();
-	}
-
-	class TestDriver
-	extends Driver
-	{
-		protected void process(EventHeader header)
-		{
-
-			System.out.println("\n"+"Processing endcap event: ");
-
-			boolean found_hits = false;
-
-			// Setup simulation and readout
-			SiSensorSim si_simulation = new CDFSiSensorSim();
-			ReadoutChip kpix = new Kpix();
-
-			IDetectorElement tkr = header.getDetector().getSubdetector("SiTrackerEndcap").getDetectorElement();
-
-			List<SiSensor> sensors = tkr.findDescendants(SiSensor.class);
-
-			for ( IDetectorElement sensorDE : sensors)
-			{
-				//System.out.println("casting to sensor -> " + sensorDE.getName());
-
-				SiSensor sensor = (SiSensor)sensorDE;
-
-				IReadout ro = sensor.getReadout();
-				List<SimTrackerHit> hits = ro.getHits(SimTrackerHit.class);
-
-				if (!hits.isEmpty())
-				{
-
-					System.out.println("\n"+"Simulating sensor: "+sensor.getName());
-
-					List<RawTrackerHit> raw_hits = new ArrayList<RawTrackerHit>();
-					si_simulation.simulate(sensor);
-
-					for (ChargeCarrier carrier : ChargeCarrier.values())
-					{
-						if (sensor.hasElectrodesOnSide(carrier))
-						{
-
-							System.out.println("Readout data: "+si_simulation.getReadoutData(carrier).getChargeMap());
-
-							SortedMap<Integer,List<Integer>> digitized_hits = kpix.readout(si_simulation.getReadoutData(carrier),sensor.getReadoutElectrodes(carrier));
-
-							// Create RawTrackerHits
-
-							for (Integer readout_cell : digitized_hits.keySet())
-							{
-								int time = 0;
-								long cell_id = sensor.makeStripId(readout_cell,carrier.charge()).getValue();
-								short[] adc_values = {digitized_hits.get(readout_cell).get(0).shortValue(),digitized_hits.get(readout_cell).get(1).shortValue()};
-
-								Set<SimTrackerHit> simulated_hits = si_simulation.getReadoutData(carrier).get(readout_cell).getSimulatedHits();
-								IDetectorElement detector_element = sensor;
-
-								RawTrackerHit raw_hit = new BaseRawTrackerHit(time,cell_id,adc_values,new ArrayList<SimTrackerHit>(simulated_hits),detector_element);
-								raw_hits.add(raw_hit);
-								found_hits = true;
-
-								System.out.println("ADC data for cell "+readout_cell+": "+
-										raw_hit.getADCValues()[0]+", "+raw_hit.getADCValues()[1]);
-
-								double signal = kpix.decodeCharge(raw_hit);
-								System.out.println("Readout data for cell "+readout_cell+": "+signal);
-
-							}
-
-						}
-					}
-
-					// Clear simulation and add RawTrackerHits to event
-					si_simulation.clearReadout();
-					header.put("RawEndcapTrackerHits",raw_hits,RawTrackerHit.class,0,"Kpix");
-				}
-			}
-			
-			assertTrue(found_hits);
-
-		}
-
-
-
-	}
+    public TrackerEndcapDigitizationDriverTest(String testName)
+    {
+        super(testName);
+    }
+    
+    public static Test suite()
+    {
+        return new TestSuite(TrackerEndcapDigitizationDriverTest.class);
+    }
+    
+    public void setUp()
+    {
+        java.lang.Runtime.getRuntime().gc();
+    }
+    
+    public void testReadout() throws Exception
+    {
+        
+        System.out.println("\n"+"STARTING!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
+        
+        
+        URL url = new URL("http://www.lcsim.org/test/lcio/mu-_10GeV_SLIC-v2r3p10_geant4-v9r0p1_LCPhys_SiTrackerEndcapTest00.slcio");
+        
+        FileCache cache = new FileCache();
+        File file = cache.getCachedFile(url);
+        
+        LCSimLoop loop = new LCSimLoop();
+        loop.setLCIORecordSource(file);
+        loop.add( new SimTrackerHitIdentifierReadoutDriver(new String[] {"SiTrackerEndcap_RO"} ) );
+        loop.add( new TestDriver() );
+        loop.loop(10, null);
+        loop.dispose();
+    }
+    
+    class TestDriver
+            extends Driver
+    {
+        protected void process(EventHeader header)
+        {
+            
+            System.out.println("\n"+"Processing endcap event: ");
+            
+            boolean found_hits = false;
+            
+            // Setup simulation and readout
+            SiSensorSim si_simulation = new CDFSiSensorSim();
+            ReadoutChip kpix = new Kpix();
+            
+            IDetectorElement tkr = header.getDetector().getSubdetector("SiTrackerEndcap").getDetectorElement();
+            
+            List<SiSensor> sensors = tkr.findDescendants(SiSensor.class);
+            
+            for ( IDetectorElement sensorDE : sensors)
+            {
+                //System.out.println("casting to sensor -> " + sensorDE.getName());
+                
+                SiSensor sensor = (SiSensor)sensorDE;
+                
+                IReadout ro = sensor.getReadout();
+                List<SimTrackerHit> hits = ro.getHits(SimTrackerHit.class);
+                
+                if (!hits.isEmpty())
+                {
+                    
+                    System.out.println("\n"+"Simulating sensor: "+sensor.getName());
+                    
+                    List<RawTrackerHit> raw_hits = new ArrayList<RawTrackerHit>();
+                    si_simulation.simulate(sensor);
+                    
+                    for (ChargeCarrier carrier : ChargeCarrier.values())
+                    {
+                        if (sensor.hasElectrodesOnSide(carrier))
+                        {
+                            
+                            System.out.println("Readout data: "+si_simulation.getReadoutData(carrier).getChargeMap());
+                            
+                            SortedMap<Integer,List<Integer>> digitized_hits = kpix.readout(si_simulation.getReadoutData(carrier),sensor.getReadoutElectrodes(carrier));
+                            
+                            // Create RawTrackerHits
+                            
+                            for (Integer readout_cell : digitized_hits.keySet())
+                            {
+                                int time = 0;
+                                long cell_id = sensor.makeStripId(readout_cell,carrier.charge()).getValue();
+                                short[] adc_values = {digitized_hits.get(readout_cell).get(0).shortValue(),digitized_hits.get(readout_cell).get(1).shortValue()};
+                                
+                                Set<SimTrackerHit> simulated_hits = si_simulation.getReadoutData(carrier).get(readout_cell).getSimulatedHits();
+                                IDetectorElement detector_element = sensor;
+                                
+                                RawTrackerHit raw_hit = new BaseRawTrackerHit(time,cell_id,adc_values,new ArrayList<SimTrackerHit>(simulated_hits),detector_element);
+                                raw_hits.add(raw_hit);
+                                found_hits = true;
+                                
+                                System.out.println("ADC data for cell "+readout_cell+": "+
+                                        raw_hit.getADCValues()[0]+", "+raw_hit.getADCValues()[1]);
+                                
+                                double signal = kpix.decodeCharge(raw_hit);
+                                System.out.println("Readout data for cell "+readout_cell+": "+signal);
+                                
+                            }
+                            
+                        }
+                    }
+                    
+                    // Clear simulation and add RawTrackerHits to event
+                    si_simulation.clearReadout();
+                    header.put("RawEndcapTrackerHits",raw_hits,RawTrackerHit.class,0,"Kpix");
+                }
+            }
+            
+            assertTrue(found_hits);
+            
+        }
+        
+        
+        
+    }
 }
 

GeomConverter/src/org/lcsim/detector/tracker/silicon
SiStrips.java 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- SiStrips.java	3 Dec 2007 23:23:30 -0000	1.12
+++ SiStrips.java	7 Dec 2007 22:19:51 -0000	1.13
@@ -383,7 +383,7 @@
 //        System.out.println("# strips: " +   (int)Math.floor((xmax-xmin-2*getPitch(0))/getPitch(0)) ) ;
         
         
-        setNStrips(  (int)Math.floor((xmax-xmin-2*getPitch(0))/getPitch(0)) ) ;
+        setNStrips(  (int)Math.floor((xmax-xmin)/getPitch(0)) ) ;
     }
     
     private void setNStrips(int nstrips)

GeomConverter/src/org/lcsim/detector/converter/compact
SiTrackerEndcapConverter.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- SiTrackerEndcapConverter.java	6 Dec 2007 23:25:19 -0000	1.18
+++ SiTrackerEndcapConverter.java	7 Dec 2007 22:19:51 -0000	1.19
@@ -58,12 +58,12 @@
  * Converter for SiTrackerEndcap.
  *
  * @author Jeremy McCormick, Tim Nelson
- * @version $Id: SiTrackerEndcapConverter.java,v 1.18 2007/12/06 23:25:19 jeremy Exp $
+ * @version $Id: SiTrackerEndcapConverter.java,v 1.19 2007/12/07 22:19:51 tknelson Exp $
  */
 
 public class SiTrackerEndcapConverter
-extends AbstractSubdetectorConverter
-implements ISubdetectorConverter
+        extends AbstractSubdetectorConverter
+        implements ISubdetectorConverter
 {
     /*
     public IDetectorElement makeSubdetectorDetectorElement(Detector detector, Subdetector subdetector)
@@ -72,13 +72,14 @@
         subdetector.setDetectorElement(endcapDE);
         return endcapDE;
     }
-    */
-
+     */
+    
     private ModuleParameters moduleParameters = null;
     
     public IIdentifierHelper makeIdentifierHelper(Subdetector subdetector, SystemMap systemMap)
     {
-        try {
+        try
+        {
             return new SiTrackerIdentifierHelper(makeIdentifierDictionary(subdetector), systemMap);
         }
         catch (FieldNotFoundException x)
@@ -89,7 +90,7 @@
         {
             throw new RuntimeException(x);
         }
-    }    
+    }
     
     public void convert(Subdetector subdet, Detector detector)
     {
@@ -100,26 +101,27 @@
         
         IDetectorElement endcapDE = subdet.getDetectorElement();
         
-        DetectorIdentifierHelper helper = (DetectorIdentifierHelper)endcapDE.getIdentifierHelper();        
-        int nfields = helper.getIdentifierDictionary().getNumberOfFields();                        
-         
+        DetectorIdentifierHelper helper = (DetectorIdentifierHelper)endcapDE.getIdentifierHelper();
+        int nfields = helper.getIdentifierDictionary().getNumberOfFields();
+        
         IDetectorElement endcapPosDE = null;
         IDetectorElement endcapNegDE = null;
-        try {        
+        try
+        {
             // Positive endcap DE
             IExpandedIdentifier endcapPosId = new ExpandedIdentifier(nfields);
             endcapPosId.setValue(helper.getFieldIndex("system"), subdet.getSystemID());
             endcapPosId.setValue(helper.getFieldIndex("barrel"), helper.getEndcapPositiveValue());
             endcapPosDE = new DetectorElement(subdet.getName() + "_positive", endcapDE);
             endcapPosDE.setIdentifier(helper.pack(endcapPosId));
-
+            
             // Negative endcap DE.
             IExpandedIdentifier endcapNegId = new ExpandedIdentifier(nfields);
             endcapNegId.setValue(helper.getFieldIndex("system"), subdet.getSystemID());
             endcapNegId.setValue(helper.getFieldIndex("barrel"), helper.getEndcapNegativeValue());
             endcapNegDE = new DetectorElement(subdet.getName() + "_negative", endcapDE);
             endcapNegDE.setIdentifier(helper.pack(endcapNegId));
-
+            
         }
         catch (Exception x)
         {
@@ -637,7 +639,7 @@
     
     // TODO: Need to have SiTrackerIdentifierHelper available before this is called.
     private void setupSensorDetectorElements(Subdetector subdet) throws Exception
-    {        
+    {
         SiTrackerIdentifierHelper id_helper = (SiTrackerIdentifierHelper)subdet.getDetectorElement().getIdentifierHelper();
         
         if (id_helper == null)
@@ -676,7 +678,7 @@
                                 {
                                     // Set the System ID.
                                     expId.setValue(iddict.getFieldIndex("system"), subdet.getSystemID());
-                                                                                                            
+                                    
                                     // Set the barrel-endcap flag.
                                     if (id_helper.isEndcapPositive(endcap.getIdentifier()))
                                     {
@@ -703,7 +705,7 @@
                                     expId.setValue(iddict.getFieldIndex("module"),((SiTrackerModule)module).getModuleId());
                                     
                                     // Set the sensor id for double-sided.
-                                    expId.setValue(iddict.getFieldIndex("sensor"),sensorId);                                                                       
+                                    expId.setValue(iddict.getFieldIndex("sensor"),sensorId);
                                 }
                                 catch (FieldNotFoundException x)
                                 {
@@ -789,9 +791,13 @@
                                 //System.out.println(" electrodes_transform translation: \n"+electrodes_transform.getTranslation().getTranslationVector());
                                 //System.out.println(" electrodes_transform rotation: \n"+electrodes_transform.getRotation().getRotationMatrix());
                                 
-                                // Free calculation of sense electrodes, readout electrodes determined thereon
-                                SiSensorElectrodes sense_electrodes = new SiStrips(ChargeCarrier.HOLE,0.025,sensor,electrodes_transform);
-                                SiSensorElectrodes readout_electrodes = new SiStrips(ChargeCarrier.HOLE,0.050,(sense_electrodes.getNCells()+1)/2,sensor,electrodes_transform);
+                                // Free calculation of readout electrodes, sense electrodes determined thereon
+                                SiSensorElectrodes readout_electrodes = new SiStrips(ChargeCarrier.HOLE,0.050,sensor,electrodes_transform);
+                                SiSensorElectrodes sense_electrodes = new SiStrips(ChargeCarrier.HOLE,0.025,(readout_electrodes.getNCells()*2-1),sensor,electrodes_transform);
+                                                                
+//                                // Free calculation of sense electrodes, readout electrodes determined thereon
+//                                SiSensorElectrodes sense_electrodes = new SiStrips(ChargeCarrier.HOLE,0.025,sensor,electrodes_transform);
+//                                SiSensorElectrodes readout_electrodes = new SiStrips(ChargeCarrier.HOLE,0.050,(sense_electrodes.getNCells()+1)/2,sensor,electrodes_transform);
                                 
                                 sensor.setSenseElectrodes(sense_electrodes);
                                 sensor.setReadoutElectrodes(readout_electrodes);
CVSspam 0.2.8