View Javadoc

1   /*
2    * SimInteractorRegistry_Test.java
3    *
4    * Created on July 24, 2007, 12:00 PM
5    *
6    * $Id: SimInteractorRegistry_Test.java,v 1.1.1.1 2010/04/08 20:38:00 jeremy Exp $
7    */
8   
9   package org.lcsim.recon.tracking.trfbase;
10  
11  import junit.framework.TestCase;
12  import org.lcsim.recon.tracking.trfutil.Assert;
13  
14  /**
15   *
16   * @author Norman Graf
17   */
18  public class SimInteractorRegistry_Test extends TestCase
19  {
20      private boolean debug;
21      /** Creates a new instance of SimInteractorRegistry_Test */
22      public void testSimInteractorRegistry()
23      {
24                  String component = "SimInteractorRegistry";
25          String ok_prefix = component + " (I): ";
26          String error_prefix = component + " test (E): ";
27          
28          if(debug) System.out.println( ok_prefix
29                  + "---------- Testing component " + component
30                  + ". ----------" );
31          
32          // make some surfaces:
33          Surface srf1 = new BSurfTest( 10.0, 1 );
34          Surface srf2 = new BSurfTest( 20.0, 2 );
35          Surface srf3 = new BSurfTest( 30.0, 3 );
36          Surface srf4 = new BSurfTest( 40.0, 4 );
37          
38          TrackVector trkv = new TrackVector();
39          trkv.set(0, 2);
40          trkv.set(1, 3);
41          
42          VTrack vtrk1 = new VTrack( srf1, trkv );
43          VTrack vtrk2 = new VTrack( srf2, trkv );
44          VTrack vtrk3 = new VTrack( srf3, trkv );
45          VTrack vtrk4 = new VTrack( srf4, trkv );
46          
47          // make some interactors:
48          SimInteractor int1 = new SimInteractorTest( 0.001, 1.0 );
49          SimInteractor int2 = new SimInteractorTest( 0.001, 2.0 );
50          SimInteractor int3 = new SimInteractorTest( 0.001, 3.0 );
51          
52          /// make the surface registry:
53          if(debug) System.out.println("Test Constructor");
54          SimInteractorRegistry regInter = new SimInteractorRegistry();
55          // register some surfaces
56          if(debug) System.out.println("Register some Interactors");
57          regInter.registerInteractor( srf1, int1 );
58          regInter.registerInteractor( srf2, int2 );
59          regInter.registerInteractor( srf3, int3 );
60          if(debug) System.out.println("Here's the Registry \n"+regInter);
61          
62          // get back a bounded surface
63          if(debug) System.out.println("fetch a bounded surface");
64          Surface bsurftest = regInter.bsurf(vtrk1);
65          Assert.assertTrue( bsurftest.equals(srf1) );
66          Assert.assertTrue( bsurftest instanceof BSurfTest );
67          
68          
69          if(debug) System.out.println("Interact some tracks");
70          if(debug) System.out.println( "Before scattering " + vtrk1 );
71          regInter.interact( vtrk1 );
72          if(debug) System.out.println( "After scattering " + vtrk1 );
73          
74          regInter.interact( vtrk2 );
75          regInter.interact( vtrk3 );
76          
77          TrackVector vtrk1_p = vtrk1.vector();
78          TrackVector vtrk2_p = vtrk2.vector();
79          TrackVector vtrk3_p = vtrk3.vector();
80          
81          Assert.assertTrue( vtrk1_p.get(0) == trkv.get(0) );
82          Assert.assertTrue( vtrk1_p.get(1) == trkv.get(1) );
83          Assert.assertTrue( vtrk2_p.get(0) == 2*trkv.get(0) );
84          Assert.assertTrue( vtrk2_p.get(1) == 2*trkv.get(1) );
85          Assert.assertTrue( vtrk3_p.get(0) == 3*trkv.get(0) );
86          Assert.assertTrue( vtrk3_p.get(1) == 3*trkv.get(1) );
87          
88          if(debug) System.out.println( ok_prefix
89                  + "------------- All tests passed. -------------" );
90      }
91      
92  }