summaryrefslogtreecommitdiff
path: root/src/test/exerciceP10Test.cc
diff options
context:
space:
mode:
authorChristian Vazquez <christian.vazquez@epfl.ch>2011-05-04 14:05:32 +0000
committerChristian Vazquez <christian.vazquez@epfl.ch>2011-05-04 14:05:32 +0000
commit9d5df425374e2e07aed264b85ff3aa37dcfd2304 (patch)
treed918b9def4dbabc9d8c1e2282e1e2c95f227fcaa /src/test/exerciceP10Test.cc
parenteb270379f82ae0969892706ddb48d2d780e26460 (diff)
downloadvhc-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/exerciceP10Test.cc')
-rw-r--r--src/test/exerciceP10Test.cc76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/test/exerciceP10Test.cc b/src/test/exerciceP10Test.cc
new file mode 100644
index 0000000..d16982f
--- /dev/null
+++ b/src/test/exerciceP10Test.cc
@@ -0,0 +1,76 @@
+/*
+ * exerciceP10.cc
+ *
+ * Created on: 20 avr. 2011
+ * Author: christian
+ */
+#include "Accelerator.h"
+#include "Dipole.h"
+#include "StraightElement.h"
+#include "Quadrupole.h"
+#include "FODO.h"
+#include <iostream>
+#include <string>
+#include <vector>
+
+using namespace std;
+using namespace vhc;
+
+/** Affiche la réponse de l'exercice P.10 de l'étape 5 (semaine 6) du projet.*/
+int main() {
+
+ Accelerator a;
+
+ Dipole* d = new Dipole(
+ Vector3D(1,0,0),
+ Vector3D(0,-1,0),
+ 0.1,
+ 1,
+ Vector3D(0,0,7),
+ NULL);
+
+ StraightElement* s = new StraightElement(
+ Vector3D(0,-1,0),
+ Vector3D(-1,-1,0),
+ 0.1);
+
+ Quadrupole* q = new Quadrupole(
+ Vector3D(-1,-1,0),
+ Vector3D(-1,-2,0),
+ 0.1,
+ 1.2);
+
+ FODO* f = new FODO(
+ Vector3D(-1,-2,0),
+ Vector3D(-1,0,0),
+ 0.1,
+ 1,
+ 1.2);
+
+ Particle* p1 = new Particle(
+ Vector3D( 1.00984,-0.191837,0 ),//position
+ constants::PROTON_MASS,//mass
+ constants::E,//charge
+ 2*constants::GeV,//energy
+ Vector3D(-1,-1,0));//direction
+
+ Particle* p2 = new Particle(
+ Vector3D(0.99016,-0.191837,0),
+ constants::PROTON_MASS,//mass
+ constants::E,//charge
+ 2*constants::GeV,//energy
+ Vector3D(1,-1,0));//direction
+
+ a.add(*d);
+ a.add(*s);
+ a.add(*q);
+ a.add(*f);
+ a.add(*p1);
+ a.add(*p2);
+
+ cout << a << endl;
+
+ a.clear();
+
+ return 0;
+}