127#ifndef G4AdjointSimManager_h
128#define G4AdjointSimManager_h 1
140class G4AdjointRunAction;
143class G4AdjointEventAction;
232 void SetRestOfAdjointActions();
233 void SetAdjointPrimaryRunAndStackingActions();
234 void ResetRestOfUserActions();
235 void ResetUserPrimaryRunAndStackingActions();
236 void DefineUserActions();
251 bool user_action_already_defined;
258 bool use_user_StackingAction;
271 G4bool adjoint_tracking_mode;
281 G4int last_fwd_part_PDGEncoding;
282 G4int last_fwd_part_index;
284 G4int ID_of_last_particle_that_reach_the_ext_source;
286 G4int nb_evt_of_last_run;
287 G4int normalisation_mode;
291 G4double area_of_the_adjoint_source;
void SetAdjointStackingAction(G4UserStackingAction *anAction)
G4bool DefineAdjointSourceOnTheExtSurfaceOfAVolume(const G4String &volume_name)
G4int GetFwdParticlePDGEncodingAtEndOfLastAdjointTrack()
const G4String & GetPrimaryIonName()
G4bool DefineExtSourceOnTheExtSurfaceOfAVolume(const G4String &volume_name)
G4ThreeVector GetPositionAtEndOfLastAdjointTrack()
G4bool GetDidAdjParticleReachTheExtSource()
void RunAdjointSimulation(G4int nb_evt)
G4double GetEkinNucAtEndOfLastAdjointTrack()
G4bool GetAdjointTrackingMode()
const G4String & GetFwdParticleNameAtEndOfLastAdjointTrack()
G4bool DefineSphericalExtSourceWithCentreAtTheCentreOfAVolume(G4double radius, const G4String &volume_name)
void SetAdjointTrackingMode(G4bool aBool)
std::vector< G4ParticleDefinition * > GetListOfPrimaryFwdParticles()
G4int GetIDOfLastAdjParticleReachingExtSource()
void ConsiderParticleAsPrimary(const G4String &particle_name)
G4double GetAdjointSourceArea()
void SetAdjointRunAction(G4UserRunAction *anAction)
void SetExtSourceEmax(G4double Emax)
void RegisterAtEndOfAdjointTrack()
void SetAdjointSourceEmax(G4double Emax)
void RegisterAdjointPrimaryWeight(G4double aWeight)
void SetAdjointSourceEmin(G4double Emin)
G4bool GetAdjointSimMode()
void SetAdjointEventAction(G4UserEventAction *anAction)
void UseUserStackingActionInFwdTrackingPhase(G4bool aBool)
G4int GetNbEvtOfLastRun()
void NeglectParticleAsPrimary(const G4String &particle_name)
G4bool DefineSphericalAdjointSourceWithCentreAtTheCentreOfAVolume(G4double radius, const G4String &volume_name)
G4int GetNormalisationMode()
G4int GetFwdParticleIndexAtEndOfLastAdjointTrack()
static G4AdjointSimManager * GetInstance()
G4double GetWeightAtEndOfLastAdjointTrack()
G4ThreeVector GetDirectionAtEndOfLastAdjointTrack()
G4double GetCosthAtEndOfLastAdjointTrack()
void SetAdjointSteppingAction(G4UserSteppingAction *anAction)
void SetNormalisationMode(G4int n)
void SetAdjointTrackingAction(G4UserTrackingAction *anAction)
G4bool DefineSphericalExtSource(G4double radius, G4ThreeVector pos)
G4double GetNumberNucleonsInIon()
G4bool DefineSphericalAdjointSource(G4double radius, G4ThreeVector pos)
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
G4double GetEkinAtEndOfLastAdjointTrack()