View Javadoc

1   package org.lcsim.recon.tracking.gtrbase;
2   
3   // Create a Gtrack for testing.
4   import java.util.*;
5   
6   import org.lcsim.recon.tracking.trfbase.ETrack;
7   import org.lcsim.recon.tracking.trfbase.Surface;
8   import org.lcsim.recon.tracking.trfbase.TrackError;
9   import org.lcsim.recon.tracking.trfbase.TrackVector;
10  import org.lcsim.recon.tracking.trfcyl.SurfCylinder;
11  import org.lcsim.recon.tracking.trfutil.Assert;
12  
13  public class GTrackTest
14  {
15      
16      public int nstate;
17      public List surfs = new ArrayList();
18      public List etracks = new ArrayList();
19      public List statii = new ArrayList();
20      public TreeSet stateset = new TreeSet();
21      public List states = new ArrayList();
22      public GTrack gtr = new GTrack();
23      public double[] ss = { 10.0, 20.0, 30.0, 40.0, 50.0 };
24      
25      
26      public
27              GTrackTest( String ok_prefix, double vec0 )
28      {
29          //******************************************************************
30          
31          //******************************************************************
32          System.out.println( ok_prefix + "Build tracks." );
33          surfs.add( new SurfCylinder(10.0) );
34          surfs.add( new SurfCylinder(20.0) );
35          surfs.add( new SurfCylinder(30.0) );
36          surfs.add( new SurfCylinder(40.0) );
37          surfs.add( new SurfCylinder(50.0) );
38          nstate = surfs.size();
39          TrackVector vec = new TrackVector();
40          TrackError err = new TrackError();
41          for ( int i=0; i<5; ++i )
42          {
43              vec.set(i, 0.011*i);
44              err.set(i,i, .001*i);
45          }
46          
47          for (Iterator it = surfs.iterator(); it.hasNext(); )
48          {
49              vec.set(0,vec0);
50              etracks.add( new ETrack((Surface) it.next(),vec,err) );
51              vec0 += 1.1;
52              
53          }
54          
55          //******************************************************************
56          System.out.println( ok_prefix + "Build chi-squares." );
57          double[] chsqs = { 12.3, 23.4, 34.5, 45.6, 56.7 };
58          
59          //******************************************************************
60          System.out.println( ok_prefix + "Build ss" );
61          //	double[] ss = { 10.0, 20.0, 30.0, 40.0, 50.0 };
62          
63          //******************************************************************
64          System.out.println( ok_prefix + "Build fit statii" );
65          statii.add(FitStatus.OPTIMAL);
66          statii.add(FitStatus.COMPLETE);
67          statii.add(FitStatus.COMPLETE);
68          statii.add(FitStatus.COMPLETE);
69          statii.add(FitStatus.OPTIMAL);
70          
71          //******************************************************************
72          System.out.println( ok_prefix + "Build global track states." );
73          Assert.assertTrue( nstate == etracks.size() );
74          Assert.assertTrue( nstate == chsqs.length );
75          Assert.assertTrue( nstate == statii.size() );
76          
77          Iterator trkit = etracks.iterator();
78          Iterator statit = statii.iterator();
79          
80          for ( int i=0; i<nstate; ++i )
81          {
82              stateset.add( new GTrackState( ss[i], (ETrack) trkit.next(), (FitStatus) statit.next(),
83                      chsqs[i] ) );
84          }
85          
86          
87          for ( Iterator ista=stateset.iterator(); ista.hasNext(); )
88          {
89              states.add( (GTrackState) ista.next());
90          }
91          
92          //******************************************************************
93          System.out.println( ok_prefix + "Build global track." );
94          gtr = new GTrack(stateset);
95          System.out.println( gtr );
96          Assert.assertTrue( gtr.isValid() );
97          Assert.assertTrue( gtr.states().size() == 5 );
98          //******************************************************************
99          
100     }
101 }