diff options
author | Christian Vazquez <christian.vazquez@epfl.ch> | 2011-05-04 14:05:32 +0000 |
---|---|---|
committer | Christian Vazquez <christian.vazquez@epfl.ch> | 2011-05-04 14:05:32 +0000 |
commit | 9d5df425374e2e07aed264b85ff3aa37dcfd2304 (patch) | |
tree | d918b9def4dbabc9d8c1e2282e1e2c95f227fcaa /src/test/AccelTest.cc | |
parent | eb270379f82ae0969892706ddb48d2d780e26460 (diff) | |
download | vhc-9d5df425374e2e07aed264b85ff3aa37dcfd2304.tar.gz vhc-9d5df425374e2e07aed264b85ff3aa37dcfd2304.tar.bz2 vhc-9d5df425374e2e07aed264b85ff3aa37dcfd2304.zip |
1)mis à jour le fichier acceltest
2)modifié la methode applyforce dans particle.h pas l'ajout d'un asin
3)déplacé le fichier exerciceP10 dans le dossier 'Test'
Diffstat (limited to 'src/test/AccelTest.cc')
-rw-r--r-- | src/test/AccelTest.cc | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/src/test/AccelTest.cc b/src/test/AccelTest.cc index e0e7368..0f76eb9 100644 --- a/src/test/AccelTest.cc +++ b/src/test/AccelTest.cc @@ -8,6 +8,7 @@ #include "Accelerator.h" #include "Dipole.h" +#include "FODO.h" #include <iostream> #include <string> #include <vector> @@ -15,9 +16,14 @@ using namespace std; using namespace vhc; -/** lance le test*/ -//TODO erreur sur l'affichage de p1 ===> "NAN" <========= -int main() { + +//TODO erreur sur l'affichage des particules en général ===> "NAN" <========= + +/** Test d'affichage.*/ +void printTest() { + + cout<<"This is the print test running."<<endl; + Accelerator a; Dipole* d = new Dipole(Vector3D(1,0,0), Vector3D(0,-1,0), 0.1, 1, Vector3D(0,0,7), NULL); @@ -34,6 +40,8 @@ int main() { Accelerator empty; + + //TODO la maille FODO n'est pas comptée comme un seul élément qui en contient d'autres, mais comme un seul. cout << "Inspecting first accelerator..." << endl << a << endl << "Inspecting second accelerator..." << endl @@ -43,6 +51,55 @@ int main() { a.clear(); b.clear(); +} + +/** Construit un accélérateur standard sans particule et renvoie un pointeur dessus.*/ +Accelerator* standardAccelerator() { + FODO e1 = FODO(Vector3D(3, 2, 0), Vector3D(3, -2, 0), 0.2, 1.0, 5.0); + Dipole e2 = Dipole(e1.getExitPosition(), Vector3D(2, -3, 0), 0.2, 1); + FODO e3 = FODO(e2.getExitPosition(), Vector3D(-2, -3, 0), 0.2, 1, 5.0); + Dipole e4 = Dipole(e3.getExitPosition(), Vector3D(-3, -2, 0), 0.2, 1); + FODO e5 = FODO(e4.getExitPosition(), Vector3D(-3, 2, 0), 0.2, 1.0, 5.0); + Dipole e6 = Dipole(e5.getExitPosition(), Vector3D(-2, 3, 0), 0.2, 1); + FODO e7 = FODO(e6.getExitPosition(), Vector3D(2, 3, 0), 0.2, 1.0, 5.0); + Dipole e8 = Dipole(e7.getExitPosition(), e1.getEntryPosition(), 0.2, 1); + Accelerator* acc = new Accelerator(); + acc->add(e1); + acc->add(e2); + acc->add(e3); + acc->add(e4); + acc->add(e5); + acc->add(e6); + acc->add(e7); + acc->add(e8); + + acc->close(); + + return acc; +} + +/** Test de simulateur.*/ +void simulatorTest() { + + cout<<"This is the simulator test running."<<endl; + + Accelerator* a = standardAccelerator(); + + Particle p1 (a->getElements().front()->getEntryPosition(), 9.11E-31, constants::E); + + a->step(1.); + + a->clear(); + + delete a; +} + +/** Lance les tests.*/ +int main() { + + simulatorTest(); + + printTest(); return 0; } |