Print

Print


Commit in slic on MAIN
src/LcioMcpMaps.cc+26-101.2 -> 1.3
include/LcioMcpMaps.hh+9-61.3 -> 1.4
+35-16
2 modified files
Added function to get a trackID from a final MCParticle.  Made find methods const.

slic/src
LcioMcpMaps.cc 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- LcioMcpMaps.cc	15 Sep 2005 04:30:52 -0000	1.2
+++ LcioMcpMaps.cc	21 Sep 2005 00:13:30 -0000	1.3
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/src/LcioMcpMaps.cc,v 1.2 2005/09/15 04:30:52 jeremy Exp $
+// $Header: /cvs/lcd/slic/src/LcioMcpMaps.cc,v 1.3 2005/09/21 00:13:30 jeremy Exp $
 #include "LcioMcpMaps.hh"
 
 // slic
@@ -20,7 +20,7 @@
   {}
 
   void LcioMcpMaps::addTrackIDToMcpLink(G4int trkID,
-					   MCParticleImpl* mcp)
+					MCParticleImpl* mcp)
   {
     assert( mcp );
     assert(trkID > 0);
@@ -28,9 +28,10 @@
     m_trackToMcp[ trkID ] = mcp;
   }
 
-  MCParticleImpl* LcioMcpMaps::findMcpFromTrackID( G4int trkID ) {
+  MCParticleImpl* LcioMcpMaps::findMcpFromTrackID( G4int trkID ) const
+  {
     MCParticleImpl* mcp = 0;
-    for ( TrackToMcpMap::iterator iter = m_trackToMcp.begin();
+    for ( TrackToMcpMap::const_iterator iter = m_trackToMcp.begin();
 	  iter != m_trackToMcp.end();
 	  iter++ ) {
       if ( iter->first == trkID ) {
@@ -41,7 +42,22 @@
     return mcp;
   }
 
-  MCParticle* LcioMcpMaps::findPrimaryInitialMcpFromTrajectory(Trajectory* trj)
+  /* Find the trackID for the final MCParticle. */
+  G4int LcioMcpMaps::findTrackIDFromFinalMcp( MCParticle* mcp) const
+  {
+    G4int trkID = -1;
+    for ( TrackToMcpMap::const_iterator iter = m_trackToMcp.begin();
+	  iter != m_trackToMcp.end();
+	  iter++ ) {
+      if ( iter->second == mcp ) {
+	trkID = iter->first;
+	break;
+      }
+    }
+    return trkID;
+  }
+
+  MCParticle* LcioMcpMaps::findPrimaryInitialMcpFromTrajectory(Trajectory* trj) const
   {
     MCParticle* mcpPrim = 0;
 
@@ -74,7 +90,7 @@
   }
 
   MCParticle* LcioMcpMaps::findDaughterMcpFromPrimary(MCParticle* mcpInit,
-								G4PrimaryParticle* primDau)
+						      G4PrimaryParticle* primDau) const
   {
     // loop over Mcp input particle's daughters
     MCParticle* mcpDau = 0;
@@ -94,10 +110,10 @@
     return mcpDau;
   }
 
-  MCParticleImpl* LcioMcpMaps::findFinalParticleFromInitial( MCParticle* mcpInit)
+  MCParticleImpl* LcioMcpMaps::findFinalParticleFromInitial( MCParticle* mcpInit) const
   {
     MCParticleImpl* mcpFinal = 0;
-    for ( InitMcpToMcpMap::iterator iter = m_initMcpToMcp.begin();
+    for ( InitMcpToMcpMap::const_iterator iter = m_initMcpToMcp.begin();
 	  iter != m_initMcpToMcp.end();
 	  iter++ ) {
       if ( iter->first == mcpInit ) {
@@ -109,10 +125,10 @@
     return mcpFinal;
   }
 
-  G4PrimaryParticle* LcioMcpMaps::findPrimaryFromMcp(MCParticle* mcp)
+  G4PrimaryParticle* LcioMcpMaps::findPrimaryFromMcp(MCParticle* mcp) const
   {
     G4PrimaryParticle *pp = 0;
-    for ( McpToPrimaryMap::iterator iter = m_McpToPrimary.begin();
+    for ( McpToPrimaryMap::const_iterator iter = m_McpToPrimary.begin();
 	  iter != m_McpToPrimary.end();
 	  iter++ ){
       if ( iter->first == mcp ) {

slic/include
LcioMcpMaps.hh 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- LcioMcpMaps.hh	16 Sep 2005 23:04:35 -0000	1.3
+++ LcioMcpMaps.hh	21 Sep 2005 00:13:30 -0000	1.4
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/include/LcioMcpMaps.hh,v 1.3 2005/09/16 23:04:35 jeremy Exp $
+// $Header: /cvs/lcd/slic/include/LcioMcpMaps.hh,v 1.4 2005/09/21 00:13:30 jeremy Exp $
 #ifndef slic_LcioMcpMaps_hh
 #define slic_LcioMcpMaps_hh 1
 
@@ -57,20 +57,23 @@
     void addInitialMcpToFinalMcpLink( EVENT::MCParticle* mcpInit, IMPL::MCParticleImpl* mcpFinal);
 
     // find an MCParticle from the trackID
-    IMPL::MCParticleImpl* findMcpFromTrackID( G4int trkID );
+    IMPL::MCParticleImpl* findMcpFromTrackID( G4int trkID ) const;
+
+    /* Find the trackID for the final MCParticle. */
+    G4int findTrackIDFromFinalMcp( EVENT::MCParticle* ) const;
 
     // find matching primary particle given an MCP ptr
-    G4PrimaryParticle* findPrimaryFromMcp(EVENT::MCParticle* mcp);
+    G4PrimaryParticle* findPrimaryFromMcp(EVENT::MCParticle* mcp) const;
 
     // loop over input collection to find matching Mcp primary for this trajectory
-    EVENT::MCParticle* findPrimaryInitialMcpFromTrajectory(Trajectory* trj);
+    EVENT::MCParticle* findPrimaryInitialMcpFromTrajectory(Trajectory* trj) const;
 
     // find a dau Mcp given a G4PrimaryParticle dau
     EVENT::MCParticle* findDaughterMcpFromPrimary(EVENT::MCParticle* mcpInit,
-						  G4PrimaryParticle* primary);
+						  G4PrimaryParticle* primary) const;
 
     // given an input particle from stdhep, find the proper output particle
-    IMPL::MCParticleImpl* findFinalParticleFromInitial( EVENT::MCParticle* mcpInit);
+    IMPL::MCParticleImpl* findFinalParticleFromInitial( EVENT::MCParticle* mcpInit) const;
 
     // print maps
     void printMaps();
CVSspam 0.2.8