Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.EventHeader.LCMetaData;
import org.lcsim.event.SimTrackerHit;
import org.lcsim.geometry.IDDecoderTrackerIDDecoder;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
import hep.aida.ITree;
/*
 * TrackerHitAccessDriver.java
 *
 * Created on July 31, 2005, 3:03 PM
 *
 */

/**
 *
 * @author Norman A. Graf
 */
public class TrackerHitAccessDriver extends Driver
{
    private AIDA aida = AIDA.defaultInstance();
    private ITree _tree;
 
    public TrackerHitAccessDriver()
    {
        _tree = aida.tree();
    }
    protected void process(EventHeader event)
    {
        List<List<SimTrackerHit>> simTrackerHitCollections = event.get(SimTrackerHit.class);
        for ( List<SimTrackerHit> simTrackerHits : simTrackerHitCollections )
        {
            LCMetaData meta = event.getMetaData(simTrackerHits);
            IDDecoderTrackerIDDecoder decoder = (TrackerIDDecoder) meta.getIDDecoder();
            for (SimTrackerHit trackerHit : simTrackerHits)
            {
                decoder.setID(trackerHit.getCellID() );
                int layer = decoder.getLayer();
                double[] pos = trackerHit.getPoint();
                aida.cloud2D(meta.getName()+" layer "+layer+" x vs y").fill(pos[0], pos[1]);
            }
        }
    }
}

...

No Format
import java.util.List;
import org.lcsim.event.EventHeader;
import org.lcsim.event.EventHeader.LCMetaData;
import org.lcsim.event.SimTrackerHit;
import org.lcsim.geometry.IDDecoderTrackerIDDecoder;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
import hep.aida.ITree;

EventHeader provides access to the event data.
SimTrackerHit is the tracker detector hit.
LCMetaData and IDDecoder TrackerIDDecoder provide access to tracker detector information encoded in the hit IDs. Note that we cast from the default IDDecoder which the meta data returns.
Driver is a steering routine which can deal with event processing.
The aida classes are used for histogramming.

...

and obtain a hit ID decoder, which will be used later to access additional information about the tracker hits. We cast this to a TrackerIDDecoder since we know that we are dealing with tracker hits.

No Format
IDDecoderTrackerIDDecoder decoder = (TrackerIDDecoder) meta.getIDDecoder();

Finally we loop over the SimTrackerHits in the collection:

...