42 #ifndef G4AdjointTrackingAction_h
43 #define G4AdjointTrackingAction_h 1
72 theUserFwdTrackingAction = anAction;}
83 return last_fwd_part_index_vec[i];};
86 aListOfParticles){pListOfPrimaryFwdParticles=aListOfParticles;}
92 G4bool is_adjoint_tracking_mode;
102 G4int last_fwd_part_PDGEncoding;
104 G4int last_fwd_part_index;
105 std::vector<G4ParticleDefinition*>* pListOfPrimaryFwdParticles;
107 std::vector<G4ThreeVector> last_pos_vec;
108 std::vector<G4ThreeVector> last_direction_vec;
109 std::vector<G4double> last_ekin_vec;
110 std::vector<G4double> last_ekin_nuc_vec;
111 std::vector<G4double> last_cos_th_vec;
112 std::vector<G4double> last_weight_vec;
113 std::vector<G4int> last_fwd_part_PDGEncoding_vec;
114 std::vector<G4int> last_fwd_part_index_vec;
G4int GetLastFwdParticleIndex(size_t i=0)
G4double GetEkinNucAtEndOfLastAdjointTrack(size_t i=0)
G4ThreeVector GetPositionAtEndOfLastAdjointTrack(size_t i=0)
const G4String & GetFwdParticleNameAtEndOfLastAdjointTrack()
G4AdjointTrackingAction(G4AdjointSteppingAction *anAction)
void SetListOfPrimaryFwdParticles(std::vector< G4ParticleDefinition * > *aListOfParticles)
G4double GetCosthAtEndOfLastAdjointTrack(size_t i=0)
virtual void PreUserTrackingAction(const G4Track *)
G4bool GetIsAdjointTrackingMode()
void ClearEndOfAdjointTrackInfoVectors()
G4int GetFwdParticlePDGEncodingAtEndOfLastAdjointTrack(size_t i=0)
size_t GetNbOfAdointTracksReachingTheExternalSurface()
G4double GetEkinAtEndOfLastAdjointTrack(size_t i=0)
void RegisterAtEndOfAdjointTrack()
virtual void PostUserTrackingAction(const G4Track *)
void SetUserForwardTrackingAction(G4UserTrackingAction *anAction)
G4ThreeVector GetDirectionAtEndOfLastAdjointTrack(size_t i=0)
G4double GetWeightAtEndOfLastAdjointTrack(size_t i=0)
virtual ~G4AdjointTrackingAction()