lcsim/src/org/lcsim/recon/vertexing/pixsim
diff -u -r1.1 -r1.2
--- CarrierPropagator.java 9 Dec 2008 23:36:34 -0000 1.1
+++ CarrierPropagator.java 14 Dec 2010 21:42:13 -0000 1.2
@@ -24,6 +24,8 @@
boolean debug = false;
boolean trace = false;
boolean init_OK = true;
+ boolean ignore_dif = false;
+ //just for fun we can set it to true and see carrier move without diffusion
boolean pconf_real = true;
String name="CCD_classic";
Random rnd = new Random();
@@ -245,6 +247,11 @@
return p_trace;
}
+ public void setIgnoreDiffusion(boolean yes)
+ {
+ ignore_dif=yes;
+ }
+
public String getName() { return name; }
public IPixelConfiguration getPixelConfiguration() { return pconf; }
@@ -1135,6 +1142,7 @@
}
trT+=dt;
dilen = Math.abs(disig * rnd.nextGaussian()); // diffusion distance
+ if(ignore_dif) dilen=0.;
Hep3Vector rv = rnv.nextVector(); // finding diffusion movement direction.
double dx = move.x() + dilen * rv.x();
double dy = move.y() + dilen * rv.y();
lcsim/src/org/lcsim/recon/vertexing/pixsim
diff -u -r1.2 -r1.3
--- PixilatedSensorManager.java 18 Mar 2010 01:15:11 -0000 1.2
+++ PixilatedSensorManager.java 14 Dec 2010 21:42:13 -0000 1.3
@@ -20,7 +20,7 @@
* for each event (only sensors which have hits in them are created)
*
* @author Nick Sinev
- * @version $Id: PixilatedSensorManager.java,v 1.2 2010/03/18 01:15:11 jeremy Exp $
+ * @version $Id: PixilatedSensorManager.java,v 1.3 2010/12/14 21:42:13 sinev Exp $
*/
public class PixilatedSensorManager extends Driver
@@ -39,6 +39,7 @@
private static int cluster_thr_ec = 8;
private static boolean firstcall = true;
private static boolean assign_bc = true;
+ private static double enoise = 50.;
// boolean choises for 3 sensor positions - Barrel, ECPlus and ECMinus
@@ -255,7 +256,7 @@
IPixelSensorElectronics el = new CCDElectronics();
el.includeElectronicNoiseHits(incl_el_noise);
el.setADCScale(25.);
- el.setNoiseLevel(50.);
+ el.setNoiseLevel(enoise);
el.setADCSaturation(255);
el.setBunchesPerClock(30); // this is about maximum clock image speed (100 KHz) for classic CCD - asuming 50MHz speed in R register
// for VXD3 CCD we would set this value to 300 (10 KHz image clock and 5 MHz R register speed)
@@ -276,7 +277,7 @@
IPixelSensorElectronics el = new CCDElectronics();
el.includeElectronicNoiseHits(incl_el_noise);
el.setADCScale(25.);
- el.setNoiseLevel(50.);
+ el.setNoiseLevel(enoise);
el.setADCSaturation(255);
el.useCorrelatedDoubleSampling(true);
el.setPixelThreshold(4);
@@ -310,6 +311,8 @@
public void includeElectronicsNoise(boolean yes) { incl_el_noise=yes; }
+ public void setNoiseLevel(double noise) { enoise=noise; }
+
public List<IDetectorElement> getBarrelDetectorElements()
{
return vxbrels;
@@ -542,9 +545,11 @@
{
lvl--;
name = child.getName();
- if(name.indexOf("positive") != -1)
+// System.out.println("found encap element with name: "+name);
+ if(((name.indexOf("reflected") == -1) || (name.indexOf("positive") != -1))
+ && (name.indexOf("negative") == -1))
vxecpels.add(child);
- if(name.indexOf("negative") != -1)
+ if((name.indexOf("reflected") != -1) || (name.indexOf("negative") != -1))
vxecmels.add(child);
ind[lvl]++;
}
@@ -633,18 +638,19 @@
String ehcname=null;
if(evhits != null)
{
-// System.out.println("Event has "+evhits.size()+" SimTrackerHit collections: ");
+ System.out.println("Event has "+evhits.size()+" SimTrackerHit collections: ");
for(List<SimTrackerHit> sdhits:evhits)
{
EventHeader.LCMetaData md = event.getMetaData(sdhits);
String cname = md.getName();
+ System.out.println("Collection name: "+cname);
if((cname.indexOf("Vtx")!=-1)||(cname.indexOf("Vertex") != -1))
{
if(cname.indexOf("Barrel")!=-1) bhcname=cname;
if(cname.indexOf("Endcap")!=-1) ehcname=cname;
}
}
-// System.out.println("Vertex barrel sim hit collection name is: "+bhcname+" and for encap it is: "+ehcname);
+ System.out.println("Vertex barrel sim hit collection name is: "+bhcname+" and for encap it is: "+ehcname);
}
int asshts = 0;
int nprints = 0;
@@ -653,7 +659,7 @@
if(bhcname != null)
{
List<SimTrackerHit> vxbhts = event.get(SimTrackerHit.class,bhcname);
-// System.out.println("SimTrackerHit collection size for barrel: "+vxbhts.size());
+ System.out.println("SimTrackerHit collection size for barrel: "+vxbhts.size());
for(SimTrackerHit hit:vxbhts)
{
double[] hpnt = hit.getPoint();
@@ -683,7 +689,7 @@
if(ehcname != null)
{
List<SimTrackerHit> vxehts = event.get(SimTrackerHit.class,ehcname);
-// System.out.println("SimTrackerHit collection size for endcap: "+vxehts.size());
+ System.out.println("SimTrackerHit collection size for endcap: "+vxehts.size());
for(SimTrackerHit hit:vxehts)
{
double[] hpnt = hit.getPoint();
@@ -801,10 +807,12 @@
}
}
// System.out.println("Endcap minus hits processed!");
+ System.out.println("Adding "+ebhits.size()+" hits to RecVtxBarrHits collection");
event.put("RecVtxBarrHits",ebhits,TrackerHit.class,0);
+ System.out.println("Adding "+eehits.size()+" hits to RecVtxEndcapHits collection");
event.put("RecVtxEndcapHits",eehits,TrackerHit.class,0);
- //event.put("RecVtxRawHits",rawhits,RawTrackerHit.class,(1 << LCIOConstants.RTHBIT_HITS));
- event.put("RecVtxRawHits",rawhits,RawTrackerHit.class,0);
+ event.put("RecVtxRawHits",rawhits,RawTrackerHit.class,(1 << LCIOConstants.RTHBIT_HITS));
+// event.put("RecVtxRawHits",rawhits,RawTrackerHit.class,0);
} // end function process