Print

Print


Commit in slic/src on MAIN
LcioMcpFactory.cc+33-81.16 -> 1.17
use mass from initial MCP when creating output particle from trajectory; add some debug printouts

slic/src
LcioMcpFactory.cc 1.16 -> 1.17
diff -u -r1.16 -r1.17
--- LcioMcpFactory.cc	16 Dec 2009 00:28:00 -0000	1.16
+++ LcioMcpFactory.cc	8 Apr 2011 20:50:24 -0000	1.17
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/src/LcioMcpFactory.cc,v 1.16 2009/12/16 00:28:00 jeremy Exp $
+// $Header: /cvs/lcd/slic/src/LcioMcpFactory.cc,v 1.17 2011/04/08 20:50:24 jeremy Exp $
 #include "LcioMcpFactory.hh"
 
 // slic
@@ -65,7 +65,8 @@
     IMPL::MCParticleImpl* LcioMcpFactory::createMcpFromTrajectory( Trajectory* trj)
     {
 #ifdef SLIC_LOG
-        log() << LOG::debug << "createMcpFromTrajectory() - trackId <" << trj->GetTrackID() << ">." << LOG::done;
+        log() << LOG::debug << "createMcpFromTrajectory() - trackId: " << trj->GetTrackID() << LOG::done;
+        log() << LOG::debug << "trj PDG: " << trj->GetParticleDefinition()->GetPDGEncoding() << LOG::done;
 #endif
 
         // new Mcp
@@ -79,8 +80,28 @@
         float fmom[3] = { mom.x(), mom.y(), mom.z() };
         mcp->setMomentum( fmom );
 
+        //G4int trackID = trj->GetTrackID();
+
+        // DEBUG stuff
+
+
+        G4double m = trj->GetParticleDefinition()->GetPDGMass() / GeV;
+
+#ifdef SLIC_LOG
+        log() << "mass from pdef: " << m << LOG::endl;
+#endif
+
+        MCParticle* primaryMcp = LcioMcpManager::instance()->getMaps()->findPrimaryInitialMcpFromTrajectory(trj);
+        if (primaryMcp != 0)
+        {
+            m = primaryMcp->getMass();
+#ifdef SLIC_LOG
+            log() << "mass from primary MCP: " << m << LOG::endl;
+#endif
+        }
+
         // mass
-        mcp->setMass( trj->GetParticleDefinition()->GetPDGMass() / GeV );
+        mcp->setMass( m );
 
         // charge
         mcp->setCharge( trj->GetCharge() );
@@ -498,6 +519,10 @@
         // mass
         mcp->setMass( primary->GetMass() / GeV );
 
+#ifdef SLIC_LOG
+        log() << "mass from primary: " << mcp->getMass() << LOG::endl;
+#endif
+
         // FIXME: Wrong if G4PrimaryParticle actually has valid charge.  (Can it happen?)
         mcp->setCharge( LcioMcpManager::m_NAN );
 
@@ -511,11 +536,11 @@
     {
 
 #ifdef SLIC_LOG
-        log() << LOG::debug << "LcioMcpFactory::createDaughtersFromPrimary()" << LOG::done;
-        log() << LOG::debug << "primary <" << primary << ">" << LOG::done;
-        log() << LOG::debug << "trkID <" << primary->GetTrackID() << ">" << LOG::done;
-        log() << LOG::debug << "mcpInit <" << mcpInit << ">" << LOG::done;
-        log() << LOG::debug << "mcpPar <" << mcpPar << ">" << LOG::done;
+        log() << LOG::debug << "createDaughtersFromPrimary" << LOG::done;
+        log() << LOG::debug << "primary: " << primary << LOG::done;
+        log() << LOG::debug << "trkID: " << primary->GetTrackID() << LOG::done;
+        log() << LOG::debug << "mcpInit: " << mcpInit << LOG::done;
+        log() << LOG::debug << "mcpPar: " << mcpPar << LOG::done;
 #endif
 
         // loop over primary daughters
CVSspam 0.2.8