View Javadoc

1   package org.lcsim.lcio;
2   
3   import hep.io.sio.SIOInputStream;
4   import hep.io.sio.SIOOutputStream;
5   import hep.physics.vec.BasicHep3Vector;
6   import hep.physics.vec.Hep3Vector;
7   
8   import java.io.IOException;
9   
10  import org.lcsim.event.Track;
11  
12  /**
13   *
14   * @author tonyj
15   */
16  class SIOTrackBlockHandler extends AbstractBlockHandler
17  {
18     private static final Hep3Vector origin = new BasicHep3Vector();
19     public String getType() { return "Track"; }
20     public Class getClassForType() { return Track.class; }
21     LCIOCallback addCollectionElements(LCIOEvent event, LCIOCollection collection, SIOInputStream in, int n, int version) throws IOException
22     {
23        double bField = event.getDetector().getFieldMap().getField(origin).z();
24        for (int i = 0; i < n; i++)
25           collection.add(new SIOTrack(in, collection.getFlags(), version, bField));
26        return null;
27     }
28     void writeCollectionElement(Object element, SIOOutputStream out, int flags) throws IOException
29     {
30        SIOTrack.write((Track) element, out, flags);
31     }
32  }