| 34 | #include "G4ios.hh" |
| 35 | |
| 36 | G4ClassificationOfNewTrack |
| 37 | G4StackChecker::ClassifyNewTrack(const G4Track* track) |
| 38 | { |
| 39 | G4ClassificationOfNewTrack result = fUrgent; |
| 40 | G4double e = track->GetKineticEnergy(); |
| 41 | if ( (!(e < 0.0) && !(e > 0.0) && !(e == 0.0)) |
| 42 | || track->GetMomentumDirection() == nullDirection) |
| 43 | { |
| 44 | result = fKill; |
| 45 | G4String nam = track->GetDefinition()->GetParticleName(); |
| 46 | G4cout << "### G4StackChecker: event# " |
| 47 | << (G4EventManager::GetEventManager())->GetConstCurrentEvent()->GetEventID() |
| 48 | << " unacceptable " << nam << " is killed in the stack" << G4endl; |
| 49 | G4cout << "### " << nam << " have been produced by the process " |
| 50 | << track->GetCreatorProcess()->GetProcessName() |
| 51 | << " trackID= " << track->GetTrackID() |
| 52 | << " parentID= " << track->GetParentID() |
| 53 | << G4endl; |
| 54 | G4cout << "### E= " << track->GetKineticEnergy() |
| 55 | << " position= " << track->GetPosition() |
| 56 | << " direction= " << track->GetMomentumDirection() |
| 57 | << " time= " << track->GetGlobalTime() |
| 58 | << G4endl; |
| 59 | } |
| 60 | return result; |
| 61 | } |
no test coverage detected