slic/src
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