6 added files
lcsim/src/org/lcsim/particle
diff -N Electron.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Electron.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,42 @@
+package org.lcsim.particle;
+/**
+ * An electron particle class.
+ *
+ * @suthor Norman A. Graf
+ * @version 1.0
+ */
+public class Electron implements ParticleType
+{
+ private int _charge;
+
+ /**
+ * Fully qualified constructor.
+ *
+ * @param charge The charge of this Electron.
+ */
+ public Electron(int charge)
+ {
+ if((charge<-1 || charge>1) || charge==0) throw (new IllegalArgumentException("The charge of an electron can only be -1 or 1!"));
+ _charge = charge;
+ }
+ public String name()
+ {
+ return ParticleType.ELECTRON+(_charge>0?"+":"-");
+ }
+ public double mass()
+ {
+ return 0.000511;
+ }
+ public int charge()
+ {
+ return _charge;
+ }
+ public int pdgId()
+ {
+ return -11*_charge; // e- is particle
+ }
+ public String toString()
+ {
+ return name()+" "+mass()+" "+charge()+" "+pdgId();
+ }
+}
\ No newline at end of file
lcsim/src/org/lcsim/particle
diff -N Muon.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Muon.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,42 @@
+package org.lcsim.particle;
+/**
+ * A muon particle class.
+ *
+ * @suthor Norman A. Graf
+ * @version 1.0
+ */
+public class Muon implements ParticleType
+{
+ private int _charge;
+
+ /**
+ * Fully qualified constructor.
+ *
+ * @param charge The charge of this Muon.
+ */
+ public Muon(int charge)
+ {
+ if((charge<-1 || charge>1) || charge==0) throw (new IllegalArgumentException("The charge of a muon can only be -1 or 1!"));
+ _charge = charge;
+ }
+ public String name()
+ {
+ return ParticleType.MUON+(_charge>0?"+":"-");
+ }
+ public double mass()
+ {
+ return 0.113;
+ }
+ public int charge()
+ {
+ return _charge;
+ }
+ public int pdgId()
+ {
+ return -13*_charge; // mu- is particle
+ }
+ public String toString()
+ {
+ return name()+" "+mass()+" "+charge()+" "+pdgId();
+ }
+}
lcsim/src/org/lcsim/particle
diff -N Neutron.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Neutron.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,31 @@
+package org.lcsim.particle;
+/**
+* A neutron particle class.
+*
+* @suthor Norman A. Graf
+* @version 1.0
+*/
+public class Neutron implements ParticleType
+{
+
+ public String name()
+ {
+ return ParticleType.NEUTRON;
+ }
+ public double mass()
+ {
+ return 0.939;
+ }
+ public int charge()
+ {
+ return 0;
+ }
+ public int pdgId()
+ {
+ return 2112;
+ }
+ public String toString()
+ {
+ return name()+" "+mass()+" "+charge()+" "+pdgId();
+ }
+}
\ No newline at end of file
lcsim/src/org/lcsim/particle
diff -N ParticleType.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ParticleType.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,46 @@
+package org.lcsim.particle;
+/**
+ * A class to encapsulate a particle type.
+ *
+ *
+ *
+ *@author Norman A. Graf
+ *@version 1.0
+ */
+public interface ParticleType
+{
+
+ /**
+ * The commonly used name for this particle.
+ *
+ * @return String name
+ */
+ public String name();
+
+ /**
+ * The mass of this particle.
+ *
+ * @return double particle mass
+ */
+ public double mass();
+
+ /**
+ * The charge of this particle.
+ *
+ * @return int charge
+ */
+ public int charge();
+
+ /**
+ * The Particle Data Group code for this particle
+ *
+ * @return int PDG Id
+ */
+ public int pdgId();
+
+ public static final String PHOTON = "Photon";
+ public static final String ELECTRON = "Electron";
+ public static final String PION = "Pi";
+ public static final String MUON = "Muon";
+ public static final String NEUTRON = "Neutron";
+}
lcsim/src/org/lcsim/particle
diff -N Photon.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Photon.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,31 @@
+package org.lcsim.particle;
+/**
+ * A photon particle class.
+ *
+ * @suthor Norman A. Graf
+ * @version 1.0
+ */
+public class Photon implements ParticleType
+{
+
+ public String name()
+ {
+ return ParticleType.PHOTON;
+ }
+ public double mass()
+ {
+ return 0.;
+ }
+ public int charge()
+ {
+ return 0;
+ }
+ public int pdgId()
+ {
+ return 22;
+ }
+ public String toString()
+ {
+ return name()+" "+mass()+" "+charge()+" "+pdgId();
+ }
+}
lcsim/src/org/lcsim/particle
diff -N Pion.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Pion.java 2 Jul 2005 06:37:33 -0000 1.1
@@ -0,0 +1,46 @@
+package org.lcsim.particle;
+/**
+ * A pion particle class.
+ *
+ * @suthor Norman A. Graf
+ * @version 1.0
+ */
+public class Pion implements ParticleType
+{
+ private int _charge;
+
+ /**
+ * Fully qualified constructor.
+ *
+ * @param charge The charge of this Pion.
+ */
+ public Pion(int charge)
+ {
+ if(charge<-1 || charge>1) throw (new IllegalArgumentException("The charge of a pion can only be -1, 0, or 1!"));
+ _charge = charge;
+ }
+ public String name()
+ {
+ return ParticleType.PION+(_charge==0?"0":(_charge>0?"+":"-"));
+ }
+ public double mass()
+ {
+ double mass = 0.135;
+ if(_charge!=0) mass = 0.1396;
+ return mass;
+ }
+ public int charge()
+ {
+ return _charge;
+ }
+ public int pdgId()
+ {
+ int id = 111; // pi0
+ if(_charge!=0) id=211*_charge; // pi+ is particle
+ return id;
+ }
+ public String toString()
+ {
+ return name()+" "+mass()+" "+charge()+" "+pdgId();
+ }
+}
\ No newline at end of file
CVSspam 0.2.8