diff options
Diffstat (limited to 'src/main/Element.h')
-rw-r--r-- | src/main/Element.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/main/Element.h b/src/main/Element.h index 754287f..448126f 100644 --- a/src/main/Element.h +++ b/src/main/Element.h @@ -29,35 +29,43 @@ protected: Vector3D exitPosition; /** Rayon de la chambre à vide. */ - double radius; + double sectionRadius; /** Pointeur sur l'élément suivant. */ Element *next; - /** Intensité (constante) du champ. - * TODO à améliorer */ - double fieldIntensity; + /* Intensité (constante) du champ. + * TODO à améliorer + double fieldIntensity; + Vector3D magneticField - /** Direction du champ magnétique, invariant dans l'espace. */ - Vector3D fieldDirection; + /** Direction du champ magnétique, invariant dans l'espace. + Vector3D fieldDirection; + */ public: - Element(); - virtual ~Element(); + Element(const Vector3D& entry, const Vector3D& exit, double sectionRadius, Element* next = NULL): + entryPosition(entry), + exitPosition(exit), + sectionRadius(sectionRadius), + next(next) + {}; virtual bool isOutside(const Particle& p) const = 0; /* TODO Et si la valeur de retour était un pointeur? */ virtual bool isPast(const Particle& p) const = 0; + Vector3D getDiagonal() const {return exitPosition - entryPosition;} + Vector3D getEntryPosition() const {return entryPosition;} void setEntryPosition(const Vector3D& newPos) {entryPosition = newPos;} Vector3D getExitPosition() const {return exitPosition;} void setExitPosition(const Vector3D& newPos) {exitPosition = newPos;} - double getRadius() const {return radius;} - void setRadius(double r) {radius = r;} + double getSectionRadius() const {return sectionRadius;} + void setSectionRadius(double r) {sectionRadius = r;} Element* getNext() const {return next;} |