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
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 }