Geant4  10.02
G4ITModelProcessor Class Reference

The G4ITModelProcessor will call the two processes defined in G4VITModel. More...

#include <G4ITModelProcessor.hh>

+ Collaboration diagram for G4ITModelProcessor:

Public Member Functions

 G4ITModelProcessor ()
 
virtual ~G4ITModelProcessor ()
 
void SetModelHandler (G4ITModelHandler *)
 
void Initialize ()
 
void RegisterModel (double time, G4VITStepModel *)
 
void CleanProcessor ()
 Restore original state of the modelProcessor. More...
 
G4double CalculateMinTimeStep (G4double currentGlobalTime, G4double definedMinTimeStep)
 
void ComputeTrackReaction (G4ITStepStatus fITStepStatus, G4double fGlobalTime, G4double currentTimeStep, G4double previousTimeStep, G4bool reachedUserTimeLimit, G4double fTimeTolerance, G4UserTimeStepAction *fpUserTimeStepAction, G4int fVerbose)
 
void InitializeStepper (G4double currentGlobalTime, G4double userMinTime)
 
bool GetComputeTimeStep ()
 
void CalculateTimeStep (const G4Track *, const G4double)
 
void DoCalculateStep ()
 
void FindReaction (G4ITReactionSet *reactionSet, const double currentStepTime, const double previousStepTime, const bool reachedUserStepTimeLimit)
 
const std::vector< std::vector
< G4VITStepModel * > > * 
GetCurrentModel ()
 
std::vector
< G4ITReactionChange * > * 
GetReactionInfo ()
 
const G4TrackGetTrack () const
 
void SetTrackingManager (G4ITTrackingManager *trackingManager)
 

Protected Member Functions

void SetTrack (const G4Track *)
 
void ExtractTimeStepperData ()
 
 G4ITModelProcessor (const G4ITModelProcessor &other)
 Copy constructor. More...
 
G4ITModelProcessoroperator= (const G4ITModelProcessor &other)
 Assignment operator. More...
 

Protected Attributes

G4double fTSTimeStep
 
G4ITReactionSetfReactionSet
 
G4ITTrackingManagerfpTrackingManager
 
G4ITTrackHolderfpTrackContainer
 
G4bool fInitialized
 
G4ITModelHandlerfpModelHandler
 
const G4TrackfpTrack
 
G4double fUserMinTimeStep
 
std::vector< std::vector
< G4VITStepModel * > > 
fCurrentModel
 
G4VITStepModelfpModel
 
G4ITModelManagerfpModelManager
 
G4ITType fCurrentType1
 
G4ITType fCurrentType2
 
std::vector< G4ITReactionChange * > fReactionInfo
 
bool fComputeTimeStep
 
bool fComputeReaction
 

Detailed Description

The G4ITModelProcessor will call the two processes defined in G4VITModel.

This processes act at the beginning and end of each step. The first one, the TimeStepper will calculate a time step to propagate all the track and eventually it can return some tracks that can likely react at the end of the step. The second one, the ReactionProcess will make the tracks reacting.

Definition at line 83 of file G4ITModelProcessor.hh.

Constructor & Destructor Documentation

G4ITModelProcessor::G4ITModelProcessor ( )

Definition at line 56 of file G4ITModelProcessor.cc.

References DBL_MAX, and G4ITType::size().

+ Here is the call graph for this function:

G4ITModelProcessor::~G4ITModelProcessor ( )
virtual

Definition at line 78 of file G4ITModelProcessor.cc.

G4ITModelProcessor::G4ITModelProcessor ( const G4ITModelProcessor other)
protected

Copy constructor.

Parameters
otherObject to copy from

Definition at line 87 of file G4ITModelProcessor.cc.

References DBL_MAX.

Member Function Documentation

G4double G4ITModelProcessor::CalculateMinTimeStep ( G4double  currentGlobalTime,
G4double  definedMinTimeStep 
)

Definition at line 131 of file G4ITModelProcessor.cc.

References G4ManyFastLists< OBJECT >::begin(), DBL_MAX, G4ManyFastLists< OBJECT >::end(), FatalErrorInArgument, fStopAndKill, fStopButAlive, G4cout, G4endl, G4Exception(), G4Track::GetGlobalTime(), GetIT(), G4IT::GetName(), G4Track::GetTrackID(), G4Track::GetTrackStatus(), and G4MemStat::MemoryUsage().

Referenced by G4Scheduler::Stepping().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITModelProcessor::CalculateTimeStep ( const G4Track track,
const G4double  userMinTimeStep 
)

Definition at line 397 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, and G4Exception().

+ Here is the call graph for this function:

void G4ITModelProcessor::CleanProcessor ( )
inline

Restore original state of the modelProcessor.

This method should be call only by the G4Scheduler

Definition at line 229 of file G4ITModelProcessor.hh.

References fpTrack.

void G4ITModelProcessor::ComputeTrackReaction ( G4ITStepStatus  fITStepStatus,
G4double  fGlobalTime,
G4double  currentTimeStep,
G4double  previousTimeStep,
G4bool  reachedUserTimeLimit,
G4double  fTimeTolerance,
G4UserTimeStepAction fpUserTimeStepAction,
G4int  fVerbose 
)
void G4ITModelProcessor::DoCalculateStep ( )

Definition at line 418 of file G4ITModelProcessor.cc.

References GetIT(), and G4IT::GetITType().

+ Here is the call graph for this function:

void G4ITModelProcessor::ExtractTimeStepperData ( )
protected

Definition at line 210 of file G4ITModelProcessor.cc.

References G4VITStepModel::GetTimeStepper(), and G4VITTimeStepComputer::ResetReactants().

+ Here is the call graph for this function:

void G4ITModelProcessor::FindReaction ( G4ITReactionSet reactionSet,
const double  currentStepTime,
const double  previousStepTime,
const bool  reachedUserStepTimeLimit 
)

Definition at line 622 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, fStopAndKill, G4Exception(), GetIT(), G4IT::GetITType(), G4ITReactionSet::GetReactionMap(), G4Track::GetTrackStatus(), G4VITReactionProcess::MakeReaction(), G4VITReactionProcess::ResetChanges(), G4ITReactionSet::SelectThisReaction(), and G4VITReactionProcess::TestReactibility().

+ Here is the call graph for this function:

bool G4ITModelProcessor::GetComputeTimeStep ( )
inline

Definition at line 118 of file G4ITModelProcessor.hh.

References fComputeTimeStep.

Referenced by G4Scheduler::Stepping().

+ Here is the caller graph for this function:

const std::vector< std::vector< G4VITStepModel * > > * G4ITModelProcessor::GetCurrentModel ( )
inline

Definition at line 211 of file G4ITModelProcessor.hh.

References fCurrentModel.

std::vector<G4ITReactionChange*>* G4ITModelProcessor::GetReactionInfo ( )
inline

Definition at line 142 of file G4ITModelProcessor.hh.

References fReactionInfo.

const G4Track* G4ITModelProcessor::GetTrack ( ) const
inline

Definition at line 147 of file G4ITModelProcessor.hh.

References fpTrack.

void G4ITModelProcessor::Initialize ( )

Definition at line 117 of file G4ITModelProcessor.cc.

References G4ITTrackHolder::Instance(), and G4ITReactionSet::Instance().

Referenced by G4Scheduler::Process().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITModelProcessor::InitializeStepper ( G4double  currentGlobalTime,
G4double  userMinTime 
)

Definition at line 315 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, G4cout, G4endl, G4Exception(), G4ITModelManager::GetModel(), G4VITStepModel::GetTimeStepper(), G4MemStat::MemoryUsage(), G4VITTimeStepComputer::Prepare(), and G4VITTimeStepComputer::SetTimes().

+ Here is the call graph for this function:

G4ITModelProcessor & G4ITModelProcessor::operator= ( const G4ITModelProcessor other)
protected

Assignment operator.

Parameters
otherObject to assign from
Returns
A reference to this

Definition at line 110 of file G4ITModelProcessor.cc.

void G4ITModelProcessor::RegisterModel ( double  time,
G4VITStepModel model 
)

Definition at line 104 of file G4ITModelProcessor.cc.

void G4ITModelProcessor::SetModelHandler ( G4ITModelHandler modelHandler)
inline

Definition at line 216 of file G4ITModelProcessor.hh.

References FatalErrorInArgument, fInitialized, fpModelHandler, and G4Exception().

Referenced by G4Scheduler::Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITModelProcessor::SetTrack ( const G4Track track)
inlineprotected

Definition at line 206 of file G4ITModelProcessor.hh.

References fpTrack.

void G4ITModelProcessor::SetTrackingManager ( G4ITTrackingManager trackingManager)
inline

Definition at line 152 of file G4ITModelProcessor.hh.

References fpTrackingManager.

Referenced by G4Scheduler::Initialize().

+ Here is the caller graph for this function:

Member Data Documentation

bool G4ITModelProcessor::fComputeReaction
protected

Definition at line 199 of file G4ITModelProcessor.hh.

bool G4ITModelProcessor::fComputeTimeStep
protected

Definition at line 198 of file G4ITModelProcessor.hh.

Referenced by GetComputeTimeStep().

std::vector<std::vector<G4VITStepModel*> > G4ITModelProcessor::fCurrentModel
protected

Definition at line 186 of file G4ITModelProcessor.hh.

Referenced by GetCurrentModel().

G4ITType G4ITModelProcessor::fCurrentType1
protected

Definition at line 193 of file G4ITModelProcessor.hh.

G4ITType G4ITModelProcessor::fCurrentType2
protected

Definition at line 194 of file G4ITModelProcessor.hh.

G4bool G4ITModelProcessor::fInitialized
protected

Definition at line 178 of file G4ITModelProcessor.hh.

Referenced by SetModelHandler().

G4VITStepModel* G4ITModelProcessor::fpModel
protected

Definition at line 190 of file G4ITModelProcessor.hh.

G4ITModelHandler* G4ITModelProcessor::fpModelHandler
protected

Definition at line 179 of file G4ITModelProcessor.hh.

Referenced by SetModelHandler().

G4ITModelManager* G4ITModelProcessor::fpModelManager
protected

Definition at line 191 of file G4ITModelProcessor.hh.

const G4Track* G4ITModelProcessor::fpTrack
protected

Definition at line 181 of file G4ITModelProcessor.hh.

Referenced by CleanProcessor(), GetTrack(), and SetTrack().

G4ITTrackHolder* G4ITModelProcessor::fpTrackContainer
protected

Definition at line 176 of file G4ITModelProcessor.hh.

G4ITTrackingManager* G4ITModelProcessor::fpTrackingManager
protected

Definition at line 175 of file G4ITModelProcessor.hh.

Referenced by SetTrackingManager().

std::vector<G4ITReactionChange*> G4ITModelProcessor::fReactionInfo
protected

Definition at line 196 of file G4ITModelProcessor.hh.

Referenced by GetReactionInfo().

G4ITReactionSet* G4ITModelProcessor::fReactionSet
protected

Definition at line 174 of file G4ITModelProcessor.hh.

G4double G4ITModelProcessor::fTSTimeStep
protected

Definition at line 173 of file G4ITModelProcessor.hh.

G4double G4ITModelProcessor::fUserMinTimeStep
protected

Definition at line 182 of file G4ITModelProcessor.hh.


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