Commit in lcsim/src/org/lcsim/contrib/SiStripSim on MAIN
CDFSiSensorSim.java+29-281.8 -> 1.9
Got rid of some deprecated, commented code.

lcsim/src/org/lcsim/contrib/SiStripSim
CDFSiSensorSim.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- CDFSiSensorSim.java	11 Dec 2007 18:51:07 -0000	1.8
+++ CDFSiSensorSim.java	11 Jan 2008 05:47:15 -0000	1.9
@@ -96,7 +96,7 @@
         
         depositChargeOnSense();
         transferChargeToReadout();
-
+        
         return _readout_data;
     }
     
@@ -119,7 +119,7 @@
         {
             intersection_points.add(GeomOp3D.intersection(drift_line,_sensor.getBiasSurface(bias_carrier).getPlane()));
         }
-                
+        
         Hep3Vector corrected_position = VecOp.mult(0.5,VecOp.add(intersection_points.get(0),intersection_points.get(1)));
         
         ITransform3D transform = new Transform3D(new Translation3D(VecOp.sub(corrected_position,position)));
@@ -154,6 +154,13 @@
         for (SimTrackerHit hit : hits)
         {
             
+//            System.out.println("Hit point: " + "[" + hit.getPoint()[0] + "," + hit.getPoint()[1] + "," + hit.getPoint()[2] + "]");
+//            System.out.println("Startpoint: " + "[" + hit.getStartPoint()[0] + "," + hit.getStartPoint()[1] + "," + hit.getStartPoint()[2] + "]");
+//            System.out.println("Endpoint: " + "[" + hit.getEndPoint()[0] + "," + hit.getEndPoint()[1] + "," + hit.getEndPoint()[2] + "]");
+//                        
+//            System.out.println("\n"+"Startpoint is inside: " + _sensor.getGeometry().inside(new BasicHep3Vector(hit.getStartPoint())));
+//            System.out.println("Endpoint is inside: " + _sensor.getGeometry().inside(new BasicHep3Vector(hit.getEndPoint())));
+            
             TrackSegment track = new TrackSegment(hit);
             track.transform(global_to_sensor);
             
@@ -191,11 +198,12 @@
             Hep3Vector segment_center = VecOp.add( track.getP1(),VecOp.mult(0.5,segment_step) );
             
 //            System.out.println("Segment step: " + segment_step);
-//            System.out.println("Segment center: " + segment_center);
             
             // Loop over segments
             for (int iseg = 0; iseg < nsegments; iseg++)
             {
+//                System.out.println("Segment center: " + segment_center);
+                
                 // FIXME: Add correct straggling treatment for thin layers
                 
                 // loop over sides of detector
@@ -209,33 +217,9 @@
                         charge_distribution.transform(electrodes.getParentToLocal());
                         
                         SortedMap<Integer,Integer> sense_charge = electrodes.computeElectrodeData(charge_distribution);
-                        
 //                        System.out.println("Sense charge map: " + sense_charge);
                         
                         _sense_data.get(carrier).add(new SiElectrodeDataCollection(sense_charge,hit));
-                        
-//                        ITransform3D sensor_to_electrodes = _sensor.getElectrodes(carrier).getParentToLocal();
-//
-//                        Hep3Vector electrode_drift_destination = sensor_to_electrodes.transformed(driftDestination(segment_center,carrier));
-//
-//
-//                        ErrorEllipse2D electrode_charge_distribution = diffusionEllipse(segment_center,carrier).transformed(sensor_to_electrodes);
-                        
-                        
-                        
-                        
-//                        IRotation3D sensor_to_electrodes = new RotationPassiveXYZ(0.0,0.0,-_sensor.getElectrodeAngle(carrier));
-//
-//                        Hep3Vector electrode_drift_destination = VecOp.mult(sensor_to_electrodes.getRotationMatrix(),driftDestination(segment_center,carrier));
-//                        ErrorEllipse2D electrode_charge_distribution = diffusionEllipse(segment_center,carrier).rotate(-_sensor.getElectrodeAngle(carrier));
-//
-//                        SortedMap<Integer,Integer> sense_charge = _sensor.getElectrodes(carrier).
-//                                computeElectrodeData(segment_charge,electrode_drift_destination,electrode_charge_distribution);
-//
-////                        System.out.println("Sense charge map: " + sense_charge);
-//
-//                        _sense_data.get(carrier).add(new SiElectrodeDataCollection(sense_charge,hit));
-                        
                     }
                 }
                 
@@ -433,13 +417,16 @@
     private ChargeDistribution diffusionDistribution(double segment_charge, Hep3Vector origin, ChargeCarrier carrier)
     {
         
-//        System.out.println("Calculating charge distribution for carrier: "+carrier);
+//        System.out.println("\n"+"Calculating charge distribution for carrier: "+carrier);
         
         // Common factors
         double difference_V = _sensor.getBiasVoltage() - _sensor.getDepletionVoltage();
         double sum_V = _sensor.getBiasVoltage() + _sensor.getDepletionVoltage();
         double common_factor = 2.0*_sensor.distanceFromSide(origin,carrier)*_sensor.getDepletionVoltage()/_sensor.getThickness();
         
+//        System.out.println("Distance from side: "+_sensor.distanceFromSide(origin,carrier));
+//        System.out.println("Origin: "+origin);
+        
         // Calculate charge spreading without magnetic field
         double sigmasq = _sensor.getBulk().K_BOLTZMANN * _sensor.getBulk().getTemperature() *
                 _sensor.getThickness()*_sensor.getThickness() / _sensor.getDepletionVoltage();
@@ -454,6 +441,8 @@
         
         double sigma = Math.sqrt(sigmasq);
         
+//        System.out.println("sigma: "+sigma);
+        
         // Corrections for magnetic field -- this is an approximation, may have to be done better for high fields
         
         // Special case if field is parallel to drift direction
@@ -468,13 +457,25 @@
         
         if (VecOp.cross(drift_direction,bias_surface_normal).magnitude() < GeomOp3D.ANGULAR_TOLERANCE)
         {
+//            System.out.println("Drift direction perpendicular to bias plane");
+//            System.out.println("Drift direction: "+drift_direction);
+//            System.out.println("bias_surface_normal: "+bias_surface_normal);
+//            System.out.println("First edge of bias plane: "+_sensor.getBiasSurface(carrier).getEdges().get(0).getDirection());
+            
+            
             major_axis = VecOp.cross(bias_surface_normal,_sensor.getBiasSurface(carrier).getEdges().get(0).getDirection()); // arbitrary vector in plane
             minor_axis = VecOp.cross(bias_surface_normal,major_axis);
             
+//            System.out.println("Major axis at initialization: "+major_axis);
+//            System.out.println("Minor axis at initialization: "+minor_axis);
+            
             major_axis_length = minor_axis_length = sigma;
+            
         }
         else
         {
+//            System.out.println("Drift direction NOT perpendicular to bias plane!!");
+            
             major_axis = VecOp.unit(VecOp.cross(bias_surface_normal,VecOp.cross(_drift_direction.get(carrier),bias_surface_normal)));
             minor_axis = VecOp.cross(bias_surface_normal,major_axis);
             
CVSspam 0.2.8