View Javadoc

1   package org.lcsim.geometry.field;
2   
3   import hep.physics.vec.BasicHep3Vector;
4   import hep.physics.vec.Hep3Vector;
5   import junit.framework.*;
6   import org.lcsim.geometry.FieldMap;
7   
8   /**
9    *
10   * @author tonyj
11   */
12  // Note this class should be abstract, but maven won't let me make it so.
13  public /* abstract */ class FieldTest extends TestCase
14  {
15     public FieldTest(String testName)
16     {
17        super(testName);
18     }
19     
20     void testFieldAt(FieldMap map, double x, double y, double z, double bx, double by, double bz)
21     {
22        testFieldMethod1(map,x,y,z,bx,by,bz);
23        testFieldMethod2(map,x,y,z,bx,by,bz);
24        testFieldMethod3(map,x,y,z,bx,by,bz);
25        testFieldMethod4(map,x,y,z,bx,by,bz);                  
26     }
27     private void testFieldMethod1(FieldMap map, double x, double y, double z, double bx, double by, double bz)
28     {
29        double[] field = map.getField(new double[]{x,y,z});
30        assertEquals("Method 1, x",bx,field[0],1e-16);
31        assertEquals("Method 1, y",by,field[1],1e-16);
32        assertEquals("Method 1, z",bz,field[2],1e-16);
33     }
34     private void testFieldMethod2(FieldMap map, double x, double y, double z, double bx, double by, double bz)
35     {
36        Hep3Vector fieldVector = map.getField(new BasicHep3Vector(x,y,z));
37        assertEquals("Method 2, x",bx,fieldVector.x(),1e-16);
38        assertEquals("Method 2, y",by,fieldVector.y(),1e-16);
39        assertEquals("Method 2, z",bz,fieldVector.z(),1e-16); 
40     }
41     private void testFieldMethod3(FieldMap map, double x, double y, double z, double bx, double by, double bz)
42     {
43        double[] field = { 9,9,9 }; 
44        map.getField(new double[]{x,y,z},field);
45        assertEquals("Method 3, x",bx,field[0],1e-16);
46        assertEquals("Method 3, y",by,field[1],1e-16);
47        assertEquals("Method 3, z",bz,field[2],1e-16);
48     }
49     private void testFieldMethod4(FieldMap map, double x, double y, double z, double bx, double by, double bz)
50     {
51        BasicHep3Vector fieldVector = new BasicHep3Vector(9,9,9);
52        map.getField(new BasicHep3Vector(x,y,z),fieldVector);
53        assertEquals("Method 4, x",bx,fieldVector.x(),1e-16);
54        assertEquals("Method 4, y",by,fieldVector.y(),1e-16);
55        assertEquals("Method 4, z",bz,fieldVector.z(),1e-16); 
56     }
57     
58     public void testNothing()
59     {
60        // Doesn't do anything, just keeps maven happy
61     }
62  }