Commit in trf++/test/mag_field on MAIN
AbstractMagneticField_t.cpp+10added 1.1
ConstantMagneticField_t.cpp+19added 1.1
MagFieldMgr_t.cpp+84added 1.1
+113
3 added files
mag_field component tests

trf++/test/mag_field
AbstractMagneticField_t.cpp added at 1.1
diff -N AbstractMagneticField_t.cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ AbstractMagneticField_t.cpp	8 Aug 2011 19:02:38 -0000	1.1
@@ -0,0 +1,10 @@
+
+#include "mag_field/AbstractMagneticField.hpp"
+
+// a pure virtual class, how can I test?
+
+int main(){
+
+  return 0;  
+
+}

trf++/test/mag_field
ConstantMagneticField_t.cpp added at 1.1
diff -N ConstantMagneticField_t.cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ConstantMagneticField_t.cpp	8 Aug 2011 19:02:38 -0000	1.1
@@ -0,0 +1,19 @@
+
+#include "mag_field/ConstantMagneticField.hpp"
+
+using std::cout;
+using std::endl;
+
+int main(){
+
+  ConstantMagneticField cmf1(1.111);
+
+  cout<<cmf1.set_magnitude(2.222)<<endl;
+  cout<<cmf1.field(SpacePoint())<<endl;
+  cout<<cmf1.fieldgradient(SpacePoint())<<endl;
+  cout<<cmf1.fieldvalid(SpacePoint())<<endl;
+
+  cout<<cmf1<<endl;
+
+  return 0;
+}

trf++/test/mag_field
MagFieldMgr_t.cpp added at 1.1
diff -N MagFieldMgr_t.cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MagFieldMgr_t.cpp	8 Aug 2011 19:02:38 -0000	1.1
@@ -0,0 +1,84 @@
+#include "mag_field/MagFieldMgr.hpp"
+#include "mag_field/ConstantMagneticField.hpp"
+#include <iostream>
+#include <cassert>
+
+using std::cout;
+using std::endl;
+
+int main() {
+
+  cout << "Begin Testing MagFieldMgr" << endl;
+ 
+  MagFieldMgr* mgr = MagFieldMgr::get_instance();
+  
+  assert(mgr != 0 );
+
+  MagFieldMgr* mgr1 = MagFieldMgr::get_instance();
+  
+  assert( mgr == mgr1 );
+
+  assert( !mgr->isFieldValid() );
+ 
+  ConstantMagneticField* pfield= new ConstantMagneticField(2.);
+
+    assert(mgr->counter() == 0 );
+    
+  mgr->reset_field(pfield);
+
+  assert( mgr->counter() == 1 );
+  assert( mgr->isFieldValid() );
+  
+  AbstractMagneticField** pptr = mgr->get_field();
+  
+  CartesianPoint x1(0.,0.,0.);
+  CartesianPoint y1(0.,0.,0.);
+
+  const SpacePointVector& fx1 = (*pptr)->field(x1);
+  const SpacePointVector& fy1 = (*pptr)->field(y1);
+
+  assert( fx1 == fy1 );
+
+  assert( fx1.v_z() == 2. );
+
+  // create a new field...  
+  pfield= new ConstantMagneticField(1.);
+
+  // send it to the manager...
+  mgr->reset_field(pfield);
+  
+  assert(mgr->counter() == 2 );
+
+  // the pointer should have been automatically updated...
+  const SpacePointVector& fx2 = (*pptr)->field(x1);
+  
+  assert( fx1 != fx2 );
+  
+  assert( fx2.v_z() == 1. );
+  
+  
+  AbstractMagneticField** pptr1 = mgr->get_field();
+  AbstractMagneticField** pptr2 = mgr->get_field();
+  AbstractMagneticField** pptr3 = pptr2;
+
+
+
+  assert( (*pptr1)->field(x1).v_z() == 1. );
+  assert( (*pptr2)->field(x1).v_z() == 1. );
+  assert( (*pptr3)->field(x1).v_z() == 1. );
+
+  mgr1->reset_field(new ConstantMagneticField(3.));
+
+  
+
+
+
+  assert( (*pptr)->field(x1).v_z() == 3. );
+  assert( (*pptr1)->field(x1).v_z() == 3. );
+  assert( (*pptr2)->field(x1).v_z() == 3. );
+  assert( (*pptr3)->field(x1).v_z() == 3. );
+  assert( mgr1->counter() == 3 );
+
+  cout << "done with tests" << endl;
+  
+}
CVSspam 0.2.8