1 package org.lcsim.recon.tracking.seedtracker;
2
3 import hep.physics.vec.Hep3Vector;
4
5 import java.util.ArrayList;
6 import java.util.List;
7
8 import org.lcsim.event.GenericObject;
9
10
11
12
13
14
15
16 public class TrackState implements GenericObject
17 {
18 List<Float> vals = new ArrayList<Float>();
19
20
21
22
23
24
25
26
27
28
29
30 public TrackState(float x, float y, float z, float px, float py, float pz)
31 {
32 vals.add(x);
33 vals.add(y);
34 vals.add(z);
35 vals.add(px);
36 vals.add(py);
37 vals.add(pz);
38 }
39
40
41
42
43
44
45
46
47
48
49
50 public TrackState(double x, double y, double z, double px, double py, double pz)
51 {
52 vals.add((float) x);
53 vals.add((float) y);
54 vals.add((float) z);
55 vals.add((float) px);
56 vals.add((float) py);
57 vals.add((float) pz);
58 }
59
60
61
62
63
64
65
66 public TrackState(Hep3Vector pos, Hep3Vector p) {
67 vals.add((float)pos.x());
68 vals.add((float)pos.y());
69 vals.add((float)pos.z());
70 vals.add((float)p.x());
71 vals.add((float)p.y());
72 vals.add((float)p.z());
73 }
74
75 public double getDoubleVal(int index)
76 {
77 return 0;
78 }
79
80 public float getFloatVal(int index)
81 {
82 return vals.get(index);
83 }
84
85 public int getIntVal(int index)
86 {
87 return 0;
88 }
89
90 public int getNDouble()
91 {
92 return 0;
93 }
94
95 public int getNFloat()
96 {
97 return 6;
98 }
99
100 public int getNInt()
101 {
102 return 0;
103 }
104
105 public boolean isFixedSize()
106 {
107 return true;
108 }
109
110 public String toString()
111 {
112 StringBuffer sb = new StringBuffer(" TrackState: \n");
113 sb.append(" global cartesian position: "+vals.get(0)+" "+vals.get(1)+" "+vals.get(2));
114 sb.append(" momentum: "+vals.get(3)+" "+vals.get(4)+" "+vals.get(5));
115 return sb.toString();
116 }
117 }