testOperationsAV.cc
Go to the documentation of this file.
1 
10 #include <utl/Vector.h>
11 #include <utl/AxialVector.h>
12 
13 #include <tst/Verify.h>
14 #include <utl/Triple.h>
15 
16 #include <cppunit/extensions/HelperMacros.h>
17 
18 using namespace utl;
19 using namespace tst;
20 
21 
25 class testOperationsAxialVector : public CppUnit::TestFixture {
26 
27  CPPUNIT_TEST_SUITE(testOperationsAxialVector);
28  CPPUNIT_TEST(testConversionAV);
29  CPPUNIT_TEST(testOperationsAV);
30  CPPUNIT_TEST_SUITE_END();
31 
32 public:
33 
34  void setUp() { }
35 
36  void tearDown() { }
37 
38  void
40  {
41  const CoordinateSystemPtr CS(CoordinateSystem::GetRootCoordinateSystem());
42  const Vector v1(1,0,0, CS);
43  const AxialVector a1(v1);
44  CPPUNIT_ASSERT(Verify<CloseTo>(
45  a1.GetCoordinates(CS), Triple(1,0,0)));
46 
47  const AxialVector a2(2,3,5, CS);
48  const Vector v2(a2);
49  CPPUNIT_ASSERT(Verify<CloseTo>(
50  v2.GetCoordinates(CS), Triple(2,3,5)));
51  }
52 
53  void
55  {
56  const CoordinateSystemPtr CS(CoordinateSystem::GetRootCoordinateSystem());
57  const Vector v1(1,0,0, CS);
58  const Vector v2(0,1,0, CS);
59  const Vector v3(0,0,1, CS);
60 
61  const AxialVector a1(cross(v1, v2));
62  CPPUNIT_ASSERT(Verify<CloseTo>(
63  a1.GetCoordinates(CS), Triple(0,0,1)));
64 
65  const Vector v4(cross(v1, v2) - v3);
66  CPPUNIT_ASSERT(Verify<CloseTo>(
67  v4.GetCoordinates(CS), Triple(0,0,0)));
68  }
69 
70 };
71 
72 
74 
75 
76 // Configure (x)emacs for this file ...
77 // Local Variables:
78 // mode:c++
79 // compile-command: "make -C .. -k run-testGeometry"
80 // End:
AxialVector cross(const Vector &l, const Vector &r)
vector cross product
Definition: OperationsAV.h:32
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
Definition: Triple.h:15
Vector object.
Definition: Vector.h:30
AxialVector object.
Definition: AxialVector.h:30

, generated on Tue Sep 26 2023.