lcsim/src/org/lcsim/digisim
diff -u -r1.4 -r1.5
--- Digitizer.java 27 Jun 2005 22:03:58 -0000 1.4
+++ Digitizer.java 28 Jun 2005 21:55:37 -0000 1.5
@@ -23,7 +23,7 @@
* simulation process for a specific subdetector.
*
* @author Guilherme Lima
- * @version $Id: Digitizer.java,v 1.4 2005/06/27 22:03:58 lima Exp $
+ * @version $Id: Digitizer.java,v 1.5 2005/06/28 21:55:37 lima Exp $
*/
class Digitizer {
@@ -59,7 +59,7 @@
simhit.getEnergy(),
simhit.getContributedTime(0) );
-// cout<<" tmphit:"<< std::hex ihit.getCellID0()<< std::dec
+// cout<<" tmphit:"<< std::hex ihit.getCellID0()<< std::dec
// << ", energy="<< tmphit.getEnergy()
// <<", time="<< tmphit.getTime() << endl;
@@ -393,7 +393,9 @@
AIDA aida = AIDA.defaultInstance();
for( CalHitModifier modifier : _modifs ) {
modifier.processHits( tmpHits );
- ICloud1D cloud = aida.cloud1D(((AbstractCalHitModifier)modifier).getName());
+ String cname = ((AbstractCalHitModifier)modifier).getName();
+ ICloud1D cloud = aida.cloud1D(cname);
+ cloudMap.put(cname, cloud);
for( long cellid : tmpHits.keySet() ) {
TempCalHit hit = tmpHits.get(cellid);
cloud.fill( Math.log(hit.getTotalEnergy())*lntolog10 );
@@ -421,6 +423,10 @@
public void end() {
System.out.println("Digitizer::end(): "+_name+":xs processed "
+_nEvt+" events in "+_nRun+" runs ");
+ // normalize clouds
+ for( ICloud1D cloud : cloudMap.values() ) {
+ cloud.scale( 1/_nEvt );
+ }
}
/** Debugging printout control */
@@ -444,7 +450,7 @@
return _name;
}
- // *** FIELDS ***
+ // *** FIELDS ***
/** Run number */
private int _nRun ;
@@ -463,4 +469,7 @@
private String _linksColl;
/** cell selector */
private CellSelector _selector;
+
+ /** histograms container */
+ private Map<String,ICloud1D> cloudMap = new HashMap<String,ICloud1D>();
}