summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Vazquez <christian.vazquez@epfl.ch>2011-04-19 07:49:34 +0000
committerChristian Vazquez <christian.vazquez@epfl.ch>2011-04-19 07:49:34 +0000
commit12a5fafab92e4a6803c56af5a934ba21f84ee762 (patch)
tree9ac6077abfe6624568735d0c629eaec26b0f2838
parent9d9da8b4ec09741c7482bea0da0ee8ac8c4366a4 (diff)
downloadvhc-12a5fafab92e4a6803c56af5a934ba21f84ee762.tar.gz
vhc-12a5fafab92e4a6803c56af5a934ba21f84ee762.tar.bz2
vhc-12a5fafab92e4a6803c56af5a934ba21f84ee762.zip
ajouté qq lignes de commentaire.
-rw-r--r--src/main/Accelerator.h18
-rw-r--r--src/main/CompositeElement.h4
-rw-r--r--src/main/CurvedElement.h3
-rw-r--r--src/main/Dipole.h6
-rw-r--r--src/main/Element.h2
-rw-r--r--src/main/FODO.h7
6 files changed, 30 insertions, 10 deletions
diff --git a/src/main/Accelerator.h b/src/main/Accelerator.h
index 9b61922..89f87b3 100644
--- a/src/main/Accelerator.h
+++ b/src/main/Accelerator.h
@@ -16,7 +16,8 @@
namespace vhc {
-
+/** Représente un accélérateur. Cette classe contient en particulier une méthode
+ * qui fait évoluer les particules qu'elle contient. */
class Accelerator {
private :
@@ -28,14 +29,13 @@ private :
protected:
- /* Attributs d'un accélérateur : une collection d'éléments, et une de particules. */
+ /** Attributs d'un accélérateur : une collection d'éléments, et une de particules. */
std::vector< Element* > elementCollec;
std::vector< Particle* > particleCollec;
public:
/** Constructeur d'un accélérateur. */
- // Pour l'instant j'ai décidé que l'accélérateur possède deux containers (cf. slide35)
Accelerator ():
elementCollec(0),
particleCollec(0)
@@ -43,14 +43,10 @@ public:
virtual ~Accelerator() {clear();}
- /* Retourne un pointeur sur un élément de l'accélérateur,
- * il n'y a pas besoin d'avoir l'élément lui-même.
- * Question : où mettre le 'delete' ? */
+ /** Retourne un pointeur sur un élément de l'accélérateur.*/
Element* getElement(int rank) const { return elementCollec[rank]; }
- /* Retourne un pointeur sur une particule de l'accélérateur,
- * il n'y a pas besoin d'avoir la particule elle-même.
- * Question : où mettre le 'delete' ? */
+ /* Retourne un pointeur sur une particule de l'accélérateur.*/
Particle* getParticle(int rank) const { return particleCollec[rank];}
/** Retourne une représentation en chaîne de caractères de cet accélérateur. */
@@ -85,16 +81,18 @@ public:
elementCollec.clear();
}
+ /** Retourne la liste des éléments de l'accélérateur.*/
const std::vector< Element* >& getElements() const {
return elementCollec;
}
+ /** Retourne la liste des particules de l'accélérateur.*/
const std::vector< Particle* >& getParticles() const {
return particleCollec;
}
- /** Fait évoluer l'accélérateur d'un lapse de temps dt. */
+ /** Fait évoluer l'accélérateur d'un laps de temps dt. */
void step(double dt) {
for (int i = 0; i < particleCollec.size(); ++i) {
diff --git a/src/main/CompositeElement.h b/src/main/CompositeElement.h
index ce274b1..42786e2 100644
--- a/src/main/CompositeElement.h
+++ b/src/main/CompositeElement.h
@@ -38,12 +38,16 @@ public:
/** Determine si une particule a passe cet element, donc passe le dernier element composant. */
virtual bool isPast(const Particle& particle) const;
+ /** Retourne le vecteur résultant du champ magnétique de tous les éléments, à une certaine position donnée.*/
virtual Vector3D magneticFieldAt(const Vector3D& position) const;
+ /** Retourne le vecteur résultant du champ électrique de tous les éléments, à une certaine position donnée.*/
virtual Vector3D electricFieldAt(const Vector3D& position) const;
+ // TODO une explication simple.....lol
virtual void accept(const ElementVisitor& v) const;
+ /** Retourne cet élément composé sous forme de chaîne de caractères.*/
virtual std::string toString() const;
};
diff --git a/src/main/CurvedElement.h b/src/main/CurvedElement.h
index f11ff34..f0aeae6 100644
--- a/src/main/CurvedElement.h
+++ b/src/main/CurvedElement.h
@@ -60,7 +60,10 @@ public:
/** Retourne l'angle entre la position d'entree, le centre de courbure et la position de sortie. */
double getAngle() const;
+ /** Retourne le type ("Cuved Element") de cet élément.*/
virtual std::string getType() const;
+
+ /** Retourne cet élément courbe sous forme de chaîne de caractères.*/
virtual std::string toString() const;
};
diff --git a/src/main/Dipole.h b/src/main/Dipole.h
index 7c9c24c..b5c1334 100644
--- a/src/main/Dipole.h
+++ b/src/main/Dipole.h
@@ -45,13 +45,19 @@ public:
* Ceci correspondrait en realite a une correction du champ a l'aide d'electroaimants. */
void setMagneticField(const Vector3D& field);
+ /** Retourne le vecteur du champ magnétique de cet élément, à une certaine position donnée.*/
virtual Vector3D magneticFieldAt(const Vector3D& position) const;
+ /** Retourne le type ("Dipole") de cet élément.*/
virtual std::string getType() const;
+
+ /** Retourne le dipole sous forme de chaîne de caractères.*/
virtual std::string toString() const;
+ // TODO explication simple
virtual void accept(const ElementVisitor& v) const;
+ /** Redéfinition du constructeur de copie hérité de la classe 'cloneable'.*/
virtual Dipole* clone() const;
diff --git a/src/main/Element.h b/src/main/Element.h
index 8f8ffa1..a34200c 100644
--- a/src/main/Element.h
+++ b/src/main/Element.h
@@ -106,8 +106,10 @@ public:
* dans des implementations concretes. */
virtual std::string getType() const;
+ /** Retourne une représentation de cet élément sous forme de chaînes de caractères.*/
virtual std::string toString() const;
+ //TODO expl.
virtual void accept(const ElementVisitor& v) const = 0;
};
diff --git a/src/main/FODO.h b/src/main/FODO.h
index 924849d..a3f19f2 100644
--- a/src/main/FODO.h
+++ b/src/main/FODO.h
@@ -14,6 +14,10 @@
namespace vhc {
+/** Représente une maille FODO, qui est un composé d'éléments constitué
+ * -d'un quadrupole focalisant;
+ * -de deux éléments droits;
+ * -à la sortie, d'un quadrupole défocalisant. */
class FODO: public CompositeElement {
private:
@@ -25,10 +29,13 @@ private:
StraightElement* straightElement2;
public:
+ /** Constructeur d'une maille FODO.*/
FODO(const Vector3D& entry, const Vector3D& exit, double sectionRadius, double straightLength, double focalizingCoefficient, Element* next = NULL);
+ /** Destructeur virtuel.*/
virtual ~FODO();
+ // TODO expl.
virtual FODO* clone() const;
};