58 {
59 G4ClassificationOfNewTrack classification = fUrgent;
60
61 if (aTrack->GetParentID() == 0) {
62
64
65 G4int pol = G4PhononPolarization::Get(aTrack->GetDefinition());
66
67
68 G4ThreeVector Ran = G4RandomDirection();
69
70
72 theKmap->SetK(aTrack, Ran);
73
74
75 G4ThreeVector momentumDir = LM->MapKtoVDir(aTrack->GetVolume(), pol, Ran);
76
77
78 G4double velocity = LM->MapKtoV(aTrack->GetVolume(), pol, Ran);
79
80
82
83 theTrack->SetMomentumDirection(momentumDir);
84 theTrack->SetVelocity(velocity);
85 theTrack->UseGivenVelocity(true);
86 }
87
88 return classification;
89}