1 package org.lcsim.geometry.field;
2
3 import hep.physics.vec.BasicHep3Vector;
4 import hep.physics.vec.Hep3Vector;
5
6 import java.util.ArrayList;
7 import java.util.List;
8
9 import junit.framework.Test;
10 import junit.framework.TestCase;
11 import junit.framework.TestSuite;
12
13 import org.lcsim.geometry.Detector;
14 import org.lcsim.util.test.OneTimeDetectorSetup;
15
16
17
18
19
20
21
22
23 public class BoxDipoleTest extends TestCase
24 {
25 Detector det;
26
27
28 static final String detLoc = "/org/lcsim/geometry/field/BoxDipoleTest.xml";
29
30 public static Test suite()
31 {
32 TestSuite ts = new TestSuite();
33 ts.addTestSuite(BoxDipoleTest.class);
34 return new OneTimeDetectorSetup(ts, detLoc);
35 }
36
37 protected void setUp() throws Exception
38 {
39 if (det == null)
40 det = OneTimeDetectorSetup.getDetector();
41 }
42
43 public void testDipole()
44 {
45
46 List<Hep3Vector> testPoints = new ArrayList<Hep3Vector>();
47 testPoints.add(new BasicHep3Vector(0,0,0));
48 testPoints.add(new BasicHep3Vector(251,0,0));
49
50
51 List<Hep3Vector> answerKey = new ArrayList<Hep3Vector>();
52 answerKey.add(new BasicHep3Vector(2., 1., 0.5));
53 answerKey.add(new BasicHep3Vector(2.1, 1.2, 0.8));
54
55
56 for (int i=0, n=testPoints.size(); i<n; i++)
57 {
58
59 Hep3Vector point = testPoints.get(i);
60
61
62 Hep3Vector bfield = det.getFieldMap().getField(point);
63
64
65 assertEquals(bfield, answerKey.get(i));
66 }
67 }
68 }