Print

Print


Commit in slic on MAIN
include/LcioMcpManager.hh+1-501.38 -> 1.39
src/LcioMcpManager.cc+8-1861.51 -> 1.52
+9-236
2 modified files
Use LcioMcpMaps for MCParticle data tracking.  Removed duplicate functions from manager class.

slic/include
LcioMcpManager.hh 1.38 -> 1.39
diff -u -r1.38 -r1.39
--- LcioMcpManager.hh	14 Sep 2005 23:59:44 -0000	1.38
+++ LcioMcpManager.hh	15 Sep 2005 04:31:39 -0000	1.39
@@ -37,15 +37,6 @@
     // Mcp collections
     typedef std::map<std::string, EVENT::LCCollection*> McpCollectionMap;
 
-    // track to Mcp
-    typedef std::map<G4int, IMPL::MCParticleImpl*> TrackToMcpMap;
-
-    // Mcp to primary particle
-    typedef std::map<EVENT::MCParticle*, G4PrimaryParticle*> McpToPrimaryMap;
-
-    // initial Mcp from StdHep to final Mcp
-    typedef std::map<EVENT::MCParticle*, IMPL::MCParticleImpl*> InitMcpToMcpMap;
-
   public:
     virtual ~LcioMcpManager();
     static LcioMcpManager* instance();
@@ -58,31 +49,6 @@
     // action at end of event
     void endEvent(const G4Event* anEvent);
 
-    // connect an initial Mcp to a primary
-    void addMcpToPrimaryLink(EVENT::MCParticle* mcp, G4PrimaryParticle* primary);
-
-    // connect track to MCParticle via track ID
-    void addTrackIDToMcpLink(G4int trkID, IMPL::MCParticleImpl* mcp);
-
-    // connect initial Mcp to final Mcp
-    void addInitialMcpToFinalMcpLink( EVENT::MCParticle* mcpInit, IMPL::MCParticleImpl* mcpFinal);
-
-    // find an MCParticle from the trackID
-    IMPL::MCParticleImpl* findMcpFromTrackID( G4int trkID );
-
-    // find matching primary particle given an MCP ptr
-    G4PrimaryParticle* findPrimaryFromMcp(EVENT::MCParticle* mcp);
-
-    // loop over input collection to find matching Mcp primary for this trajectory
-    EVENT::MCParticle* findPrimaryInitialMcpFromTrajectory(Trajectory* trj);
-
-    // find a dau Mcp given a G4PrimaryParticle dau
-    EVENT::MCParticle* findDaughterMcpFromPrimary(EVENT::MCParticle* mcpInit,
-						  G4PrimaryParticle* primary);
-
-    // given an input particle from stdhep, find the proper output particle
-    IMPL::MCParticleImpl* findFinalParticleFromInitial( EVENT::MCParticle* mcpInit);
-
     /*
      * Create an empty MCParticle collection indexed by collName.
      * SIDE EFFECT: Automatically registers collection into the map.
@@ -104,12 +70,6 @@
     void setMinimumTrackingDistance(double minDist);
     double getMinimumTrackingDistance();
 
-    // print maps
-    void printMaps();
-    void printTrackToMcpMap();
-    void printMcpToPrimaryMap();
-    void printInitMcpToMcpMap();
-
     // reset the manager at the end of event
     void reset();
 
@@ -129,7 +89,7 @@
     EVENT::LCCollection* findMcpCollection(const std::string& collName);
 
     // get the Mcp printer
-    LcioMcpPrinter* getMcpPrinter();
+    LcioMcpPrinter* getPrinter();
 
     /* Get the MCParticle data maps. */
     LcioMcpMaps* getMaps();
@@ -150,15 +110,6 @@
     // current LCEvent
     IMPL::LCEventImpl* m_currentLCEvent;
 
-    // trackID -> MCP
-    TrackToMcpMap m_trackToMcp;
-
-    // MCP -> G4PrimaryParticle
-    McpToPrimaryMap m_McpToPrimary;
-
-    // initial Mcp -> final Mcp
-    InitMcpToMcpMap m_initMcpToMcp;
-
     // printer for MCP debugging
     LcioMcpPrinter* m_mcpPrinter;
 

slic/src
LcioMcpManager.cc 1.51 -> 1.52
diff -u -r1.51 -r1.52
--- LcioMcpManager.cc	14 Sep 2005 23:59:44 -0000	1.51
+++ LcioMcpManager.cc	15 Sep 2005 04:31:40 -0000	1.52
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/src/LcioMcpManager.cc,v 1.51 2005/09/14 23:59:44 jeremy Exp $
+// $Header: /cvs/lcd/slic/src/LcioMcpManager.cc,v 1.52 2005/09/15 04:31:40 jeremy Exp $
 #include "LcioMcpManager.hh"
 
 // SLIC
@@ -70,7 +70,7 @@
 #ifdef SLIC_VERBOSE
     if ( verbose() > 2 ) {
       // print out Mcp processing maps
-      printMaps();
+      m_maps->printMaps();
     }
 
     // print input and output Mcp coll
@@ -159,82 +159,6 @@
     }
   }
 
-  void LcioMcpManager::addTrackIDToMcpLink(G4int trkID,
-					   IMPL::MCParticleImpl* mcp)
-  {
-
-    assert( mcp );
-    assert(trkID > 0);
-
-    m_trackToMcp[ trkID ] = mcp;
-  }
-
-  IMPL::MCParticleImpl* LcioMcpManager::findMcpFromTrackID( G4int trkID ) {
-    IMPL::MCParticleImpl* mcp = 0;
-    for ( TrackToMcpMap::iterator iter = m_trackToMcp.begin();
-	  iter != m_trackToMcp.end();
-	  iter++ ) {
-      if ( iter->first == trkID ) {
-	mcp = iter->second;
-	break;
-      }
-    }
-    return mcp;
-  }
-
-  EVENT::MCParticle* LcioMcpManager::findPrimaryInitialMcpFromTrajectory(Trajectory* trj)
-  {
-    EVENT::MCParticle* mcpPrim = 0;
-
-    G4int trjTrkID = trj->GetTrackID();
-
-    /* Get initial collection. */
-    LCCollection* initMcpColl = getInitialMcpCollection();
-
-    // loop over input collection
-    int numPrePart = initMcpColl->getNumberOfElements();
-    for( int k=0; k < numPrePart; k++ ) {
-
-      // current MCP
-      MCParticle* mcpPre = static_cast<MCParticle*> ( initMcpColl->getElementAt( k ) );
-
-      // do we have matching primary for this Mcp?
-      G4PrimaryParticle* primaryMatch = findPrimaryFromMcp( mcpPre );
-      if ( primaryMatch ) {
-
-	// found matching primary to this input trajectory
-	if ( primaryMatch->GetTrackID() == trjTrkID ) {
-	  mcpPrim = mcpPre;
-	  break;
-	}
-
-      }
-    }
-
-    return mcpPrim;
-  }
-
-  EVENT::MCParticle* LcioMcpManager::findDaughterMcpFromPrimary(EVENT::MCParticle* mcpInit,
-								G4PrimaryParticle* primDau)
-  {
-    // loop over Mcp input particle's daughters
-    MCParticle* mcpDau = 0;
-    int numMcpDau = mcpInit->getDaughters().size();
-    for ( int i=0; i < numMcpDau; i++ ) {
-
-      // does ith Mcp dau match this primary?
-      if ( findPrimaryFromMcp( mcpInit->getDaughters()[i] ) == primDau ) {
-
-	// found it
-	mcpDau = mcpInit->getDaughters()[i];
-	break;
-      }
-    }
-
-    // return dau
-    return mcpDau;
-  }
-
   void LcioMcpManager::deleteInitialMcpCollection()
   {
     LCCollection* mcpVec = getInitialMcpCollection();
@@ -249,7 +173,11 @@
   {
     deleteInitialMcpCollection();
 
-    clearMaps();
+    /* Clear the map of MCParticle collections. */
+    m_mcpColls.clear();
+
+    /* Clear the maps of MCParticle runtime data for this event. */
+    m_maps->clear();
   }
 
   // verbosity
@@ -261,36 +189,6 @@
     m_mcpPrinter->setVerbose( lt );
   }
 
-  IMPL::MCParticleImpl* LcioMcpManager::findFinalParticleFromInitial( EVENT::MCParticle* mcpInit)
-  {
-    IMPL::MCParticleImpl* mcpFinal = 0;
-    for ( InitMcpToMcpMap::iterator iter = m_initMcpToMcp.begin();
-	  iter != m_initMcpToMcp.end();
-	  iter++ ) {
-      if ( iter->first == mcpInit ) {
-	mcpFinal = iter->second;
-	break;
-      }
-    }
-
-    return mcpFinal;
-  }
-
-  G4PrimaryParticle* LcioMcpManager::findPrimaryFromMcp(EVENT::MCParticle* mcp)
-  {
-    G4PrimaryParticle *pp = 0;
-    for ( McpToPrimaryMap::iterator iter = m_McpToPrimary.begin();
-	  iter != m_McpToPrimary.end();
-	  iter++ ){
-      if ( iter->first == mcp ) {
-	pp = iter->second;
-	break;
-      }
-    }
-
-    return pp;
-  }
-
   // get MCP collection generated at EndOfEvent
   inline EVENT::LCCollection* LcioMcpManager::getFinalMcpCollection()
   {
@@ -320,27 +218,7 @@
     return m_minimumTrackingDistance;
   }
 
-  void LcioMcpManager::addMcpToPrimaryLink(EVENT::MCParticle* mcp,
-					   G4PrimaryParticle* primary)
-  {
-    m_McpToPrimary[ mcp ] = primary;
-  }
-
-  void LcioMcpManager::addInitialMcpToFinalMcpLink(EVENT::MCParticle* mcpInit,
-						   IMPL::MCParticleImpl* mcpFinal)
-  {
-    m_initMcpToMcp[ mcpInit ] = mcpFinal;
-  }
-
-  void LcioMcpManager::clearMaps()
-  {
-    m_trackToMcp.clear();
-    m_McpToPrimary.clear();
-    m_initMcpToMcp.clear();
-    m_mcpColls.clear();
-  }
-
-  LcioMcpPrinter* LcioMcpManager::getMcpPrinter()
+  LcioMcpPrinter* LcioMcpManager::getPrinter()
   {
     return m_mcpPrinter;
   }
@@ -349,60 +227,4 @@
   {
     return m_maps;
   }
-
-  void LcioMcpManager::printMaps()
-  {
-    std::cout << "Printing maps..." << std::endl;
-
-    printTrackToMcpMap();
-    printMcpToPrimaryMap();
-    printInitMcpToMcpMap();
-    TrajectoryManager::instance()->printTrackIDToTrajectoryMap();
-  }
-
-  void LcioMcpManager::printTrackToMcpMap()
-  {
-    std::cout << "Printing track to Mcp map..." << std::endl;
-
-    std::cout << "*** TrackToMcpMap ***" << std::endl;
-    std::cout << "trkID | McpPtr" << std::endl;
-    for ( TrackToMcpMap::iterator iter = m_trackToMcp.begin();
-	  iter != m_trackToMcp.end();
-	  iter++ ) {
-      std::cout << iter->first << " " << iter->second << std::endl;
-    }
-    std::cout << std::endl;
-  }
-
-  void LcioMcpManager::printMcpToPrimaryMap()
-  {
-    std::cout << "Printing Mcp to primary map..." << std::endl;
-
-    std::cout << std::endl;
-    std::cout << "*** McpToPrimaryMap ***" << std::endl;
-    std::cout << "McpPtr | PrimaryPtr" << std::endl;
-
-    for ( McpToPrimaryMap::iterator iter = m_McpToPrimary.begin();
-	  iter != m_McpToPrimary.end();
-	  iter++ ) {
-      std::cout << iter->first << " " << iter->second << std::endl;
-    }
-    std::cout << std::endl;
-  }
-
-  void LcioMcpManager::printInitMcpToMcpMap()
-  {
-    std::cout << "Printing InitMcp to Mcp map..." << std::endl;
-
-    std::cout << std::endl;
-    std::cout << "*** McpToMcpMap ***" << std::endl;
-    std::cout << "McpPtrInit | McpPtrFinal" << std::endl;
-
-    for ( InitMcpToMcpMap::iterator iter = m_initMcpToMcp.begin();
-	  iter != m_initMcpToMcp.end();
-	  iter++ ) {
-      std::cout << iter->first << " " << iter->second << std::endl;
-    }
-    std::cout << std::endl;
-  }
 };
CVSspam 0.2.8