Commit in slic on MAIN
src/LcioMcpUtil.cc+36added 1.1
include/LcioMcpUtil.hh+30added 1.1
+66
2 added files
Removed a few utility functions into separate class.

slic/src
LcioMcpUtil.cc added at 1.1
diff -N LcioMcpUtil.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ LcioMcpUtil.cc	14 Sep 2005 23:10:12 -0000	1.1
@@ -0,0 +1,36 @@
+// $Header: /cvs/lcd/slic/src/LcioMcpUtil.cc,v 1.1 2005/09/14 23:10:12 jeremy Exp $
+#include "LcioMcpUtil.hh"
+
+namespace slic
+{
+  // Mcp with no parents
+  bool LcioMcpUtil::isPrimary(IMPL::MCParticleImpl* mcp)
+  {
+    return ( mcp->getParents().size() == 0 );
+  }
+
+  G4double LcioMcpUtil::computeMcpDistance(IMPL::MCParticleImpl* mcp1,
+					   IMPL::MCParticleImpl* mcp2 )
+  {
+    return computeDistance( mcp1->getVertex(), mcp2->getVertex() );
+  }
+
+  G4double LcioMcpUtil::computeDistance(const double *v1, const double *v2)
+  {
+    // distance = sqrt ( x^2 + y^2 + z^2 )
+
+    // x^2
+    G4double x = (v1[0] - v2[0]);
+    G4double x2 = pow( x, 2 );
+
+    // y^2
+    G4double y = (v1[1] - v2[1]);
+    G4double y2 = pow( y, 2 );
+
+    // z^2
+    G4double z = (v1[2] - v2[2]);
+    G4double z2 = pow( z, 2 );
+
+    return sqrt( x2 + y2 + z2 );
+  }
+};

slic/include
LcioMcpUtil.hh added at 1.1
diff -N LcioMcpUtil.hh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ LcioMcpUtil.hh	14 Sep 2005 23:10:13 -0000	1.1
@@ -0,0 +1,30 @@
+// $Header: /cvs/lcd/slic/include/LcioMcpUtil.hh,v 1.1 2005/09/14 23:10:13 jeremy Exp $
+#ifndef LcioMcpUtil_hh
+#define LcioMcpUtil_hh
+
+// lcio
+#include "IMPL/MCParticleImpl.h"
+
+// g4
+#include "globals.hh"
+
+namespace slic
+{
+  class LcioMcpUtil
+  {
+
+  private:
+    LcioMcpUtil() {}
+
+  public:
+
+    // distance computation based on Mcp 3vect positions
+    static G4double computeMcpDistance(IMPL::MCParticleImpl*, IMPL::MCParticleImpl*);
+    static G4double computeDistance(const double *v1, const double *v2);
+
+    // Mcp with no parents
+    static bool isPrimary(IMPL::MCParticleImpl* mcp);
+  };
+}
+
+#endif
CVSspam 0.2.8