package org.openpixi.pixi.physics.particles; /** * A lightweight particle class. It does not move. Perfectly suited for a heavy ion lattice. */ public class ImmobileParticle extends Particle { /** x-coordinate */ private double x; /** y-coordinate */ private double y; /** radius of particle */ private double radius; /** electric charge of the particle */ private double charge; //---------------------------------------------------------------------------------------------- // GETTERS //---------------------------------------------------------------------------------------------- @Override public double getX() {return x;} @Override public double getY() {return y;} @Override public double getPrevX() {return x;} @Override public double getPrevY() {return y;} @Override public double getRadius() {return radius;} @Override public double getCharge() {return charge;} //---------------------------------------------------------------------------------------------- // SETTERS //---------------------------------------------------------------------------------------------- @Override public void setX(double x) { this.x = x; } @Override public void addX(double x) { this.x += x; } @Override public void setY(double y) { this.y = y; } @Override public void addY(double y) { this.y += y; } @Override public void setRadius(double radius) { this.radius = radius; } @Override public void setCharge(double charge) { this.charge = charge; } //---------------------------------------------------------------------------------------------- // UTILITY METHODS //---------------------------------------------------------------------------------------------- /** Epty constructor */ public ImmobileParticle() {} @Override public Particle copy() { Particle p = new ImmobileParticle(); p.setX(x); p.setY(y); p.setRadius(radius); p.setCharge(charge); return p; } @Override public String toString() { return String.format("[%.3f,%.3f]", x, y); } }