summaryrefslogtreecommitdiff
path: root/exercice/exerciceP10.cc
diff options
context:
space:
mode:
Diffstat (limited to 'exercice/exerciceP10.cc')
-rw-r--r--exercice/exerciceP10.cc78
1 files changed, 78 insertions, 0 deletions
diff --git a/exercice/exerciceP10.cc b/exercice/exerciceP10.cc
new file mode 100644
index 0000000..cc18ec3
--- /dev/null
+++ b/exercice/exerciceP10.cc
@@ -0,0 +1,78 @@
+/*
+ * 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;
+
+//TODO erreur sur l'affichage de p1 ===> "NAN" <========
+/** 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 ),
+ 0.938272,
+ 1.60217653e-19,
+ 2,
+ Vector3D(-210200,-2.64754e+08,0));
+
+ Particle* p2 = new Particle(
+ Vector3D(0.99016,-0.191837,0),
+ 0.938272,
+ 1.60217653e-19,
+ 2,
+ Vector3D(210200,-2.64754e+08,0));
+
+ a.add(*d);
+ a.add(*s);
+ a.add(*q);
+ a.add(*f);
+ a.add(*p1);
+ a.add(*p2);
+
+ //TODO a.close();
+
+ cout << a << endl;
+ a.clear();
+
+ return 0;
+}