1
2
3
4
5
6
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
17
18 public class SimInteractorRegistry_Test extends TestCase
19 {
20 private boolean debug;
21
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
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
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
53 if(debug) System.out.println("Test Constructor");
54 SimInteractorRegistry regInter = new SimInteractorRegistry();
55
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
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 }