Loading...
Searching...
No Matches
Public Member Functions | List of all members
XPhononStackingAction Class Reference

#include <Doxymodules_exoticphysics.h>

Inheritance diagram for XPhononStackingAction:
G4UserStackingAction

Public Member Functions

 XPhononStackingAction ()
 
virtual ~XPhononStackingAction ()
 
virtual G4ClassificationOfNewTrack ClassifyNewTrack (const G4Track *aTrack)
 

Detailed Description

Definition at line 49 of file Doxymodules_exoticphysics.h.

Constructor & Destructor Documentation

◆ XPhononStackingAction()

XPhononStackingAction::XPhononStackingAction ( )

Definition at line 49 of file XPhononStackingAction.cc.

49{;}

◆ ~XPhononStackingAction()

XPhononStackingAction::~XPhononStackingAction ( )
virtual

Definition at line 53 of file XPhononStackingAction.cc.

53{;}

Member Function Documentation

◆ ClassifyNewTrack()

G4ClassificationOfNewTrack XPhononStackingAction::ClassifyNewTrack ( const G4Track aTrack)
virtual

Definition at line 58 of file XPhononStackingAction.cc.

58 {
59 G4ClassificationOfNewTrack classification = fUrgent;
60
61 if (aTrack->GetParentID() == 0) {
62 //Obtain LatticeManager for phonon dynamics
63 G4LatticeManager* LM = G4LatticeManager::GetLatticeManager();
64
65 G4int pol = G4PhononPolarization::Get(aTrack->GetDefinition());
66
67 //Compute random wave-vector (override whatever ParticleGun did)
68 G4ThreeVector Ran = G4RandomDirection();
69
70 //Store wave-vector as track information
71 G4PhononTrackMap* theKmap = G4PhononTrackMap::GetPhononTrackMap();
72 theKmap->SetK(aTrack, Ran);
73
74 //Compute direction of propagation from wave vector
75 G4ThreeVector momentumDir = LM->MapKtoVDir(aTrack->GetVolume(), pol, Ran);
76
77 //Compute true velocity of propagation
78 G4double velocity = LM->MapKtoV(aTrack->GetVolume(), pol, Ran);
79
80 //cast to non-const pointer so we can set the velocity
81 G4Track* theTrack = const_cast<G4Track*>(aTrack);
82
83 theTrack->SetMomentumDirection(momentumDir);
84 theTrack->SetVelocity(velocity);
85 theTrack->UseGivenVelocity(true);
86 }
87
88 return classification;
89}

The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration