slic/src
diff -u -r1.38 -r1.39
--- TrajectoryManager.cc 16 Sep 2005 23:04:41 -0000 1.38
+++ TrajectoryManager.cc 21 Sep 2005 00:11:43 -0000 1.39
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/src/TrajectoryManager.cc,v 1.38 2005/09/16 23:04:41 jeremy Exp $
+// $Header: /cvs/lcd/slic/src/TrajectoryManager.cc,v 1.39 2005/09/21 00:11:43 jeremy Exp $
// SLIC
#include "TrajectoryManager.hh"
@@ -27,7 +27,8 @@
TrajectoryManager::TrajectoryManager()
: Module("TrajectoryManager"),
- m_trackingManager(0)
+ m_trackingManager(0),
+ m_currentTrajectory(0)
{}
void TrajectoryManager::preTracking(const G4Track* aTrack)
@@ -128,6 +129,11 @@
printStatusFlags(aTrack);
}
#endif
+
+ Trajectory* trj = static_cast<Trajectory*>(m_trackingManager->GimmeTrajectory());
+ if ( 0 != trj ) {
+ trj->setEndpointEnergy( aTrack->GetTotalEnergy() );
+ }
}
void TrajectoryManager::handlePrimaryTrack(const G4Track* aTrack)
@@ -145,6 +151,7 @@
m_trackingManager->SetStoreTrajectory( true );
m_trackingManager->SetTrajectory( trj );
addTrackIDToTrajectoryLink( trj );
+ m_currentTrajectory = trj;
return trj;
}
@@ -204,7 +211,7 @@
/*
Process of elimination: above threshold and not backscatter,
- so requires new trajectory and trkInfo.
+ so requires a new trajectory and trkInfo.
*/
else {
slic/include
diff -u -r1.25 -r1.26
--- TrajectoryManager.hh 16 Sep 2005 23:04:36 -0000 1.25
+++ TrajectoryManager.hh 21 Sep 2005 00:11:44 -0000 1.26
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/include/TrajectoryManager.hh,v 1.25 2005/09/16 23:04:36 jeremy Exp $
+// $Header: /cvs/lcd/slic/include/TrajectoryManager.hh,v 1.26 2005/09/21 00:11:44 jeremy Exp $
#ifndef slic_TrajectoryManager_hh
#define slic_TrajectoryManager_hh 1
@@ -75,12 +75,6 @@
return findTrajectory( ( const_cast<const G4Track*> ( aTrack ) )->GetTrackID() );
}
- // trackID -> trajectory map
- const TrackIDToTrajectoryMap& getTrackIDToTrajectoryMap()
- {
- return m_trackIDToTrajectory;
- }
-
void printTrackIDToTrajectoryMap()
{
G4cout << "TrackIDToTrajectoryMap" << G4endl;
@@ -143,9 +137,9 @@
}
/*
- Check if original tracking status is not in a tracking region,
- which works ok because this function is only relavent when track
- is currently in the tracking region.
+ Check if original tracking status is not in a tracking region,
+ which works ok because this function is only relavent when track
+ is currently in the tracking region.
*/
inline bool isBackscatter(const G4Track* aTrack) const
{
@@ -234,15 +228,21 @@
// create a trajectory from track's data
Trajectory* createTrajectoryFromTrack(const G4Track* aTrack );
+ /* @return Trajectory that was created last */
+ inline Trajectory* getCurrentTrajectory() const
+ {
+ return m_currentTrajectory;
+ }
+
protected:
TrajectoryManager();
private:
- static TrajectoryManager* m_instance;
+ static TrajectoryManager* m_instance;
G4TrackingManager* m_trackingManager;
-
TrackIDToTrajectoryMap m_trackIDToTrajectory;
+ Trajectory* m_currentTrajectory;
};
};