Geant4  10.01.p02
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 CleanProcessor ()
 Restaure original state of the modelProcessor. More...
 
void InitializeStepper (const G4double &currentGlobalTime, const G4double &userMinTime)
 
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
 

Protected Member Functions

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

Protected Attributes

G4bool fInitialized
 
G4ITModelHandlerfpModelHandler
 
const G4TrackfpTrack
 
G4double fUserMinTimeStep
 
std::vector< std::vector
< G4VITStepModel * > > 
fCurrentModel
 
G4VITStepModelfpModel
 
G4ITModelManagerfpModelManager
 
G4ITType fCurrentType1
 
G4ITType fCurrentType2
 
std::vector< G4ITReactionChange * > fReactionInfo
 

Static Protected Attributes

static G4ThreadLocal std::map
< const G4Track *, G4bool > * 
fHasReacted
 

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 79 of file G4ITModelProcessor.hh.

Constructor & Destructor Documentation

G4ITModelProcessor::G4ITModelProcessor ( )

Definition at line 52 of file G4ITModelProcessor.cc.

References G4ITType::size().

+ Here is the call graph for this function:

G4ITModelProcessor::~G4ITModelProcessor ( )
virtual

Definition at line 70 of file G4ITModelProcessor.cc.

G4ITModelProcessor::G4ITModelProcessor ( const G4ITModelProcessor other)
protected

Copy constructor.

Parameters
otherObject to copy from

Definition at line 79 of file G4ITModelProcessor.cc.

Member Function Documentation

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

Definition at line 183 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, and G4Exception().

Referenced by G4Scheduler::CalculateMinTimeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITModelProcessor::CleanProcessor ( )
inline

Restaure original state of the modelProcessor.

This method should be call only by the G4Scheduler

Definition at line 191 of file G4ITModelProcessor.hh.

References fpTrack.

Referenced by G4Scheduler::ExtractTimeStepperData().

+ Here is the caller graph for this function:

void G4ITModelProcessor::DoCalculateStep ( )

Definition at line 202 of file G4ITModelProcessor.cc.

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

+ 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 222 of file G4ITModelProcessor.cc.

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

Referenced by G4Scheduler::ComputeTrackReaction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 173 of file G4ITModelProcessor.hh.

References fCurrentModel.

Referenced by G4Scheduler::ExtractTimeStepperData().

+ Here is the caller graph for this function:

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

Definition at line 117 of file G4ITModelProcessor.hh.

References fReactionInfo.

Referenced by G4Scheduler::ComputeTrackReaction().

+ Here is the caller graph for this function:

const G4Track* G4ITModelProcessor::GetTrack ( ) const
inline

Definition at line 122 of file G4ITModelProcessor.hh.

References fpTrack.

Referenced by G4Scheduler::ExtractTimeStepperData().

+ Here is the caller graph for this function:

void G4ITModelProcessor::Initialize ( )

Definition at line 98 of file G4ITModelProcessor.cc.

Referenced by G4Scheduler::Process().

+ Here is the caller graph for this function:

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

Definition at line 105 of file G4ITModelProcessor.cc.

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

Referenced by G4Scheduler::CalculateMinTimeStep().

+ Here is the call graph for this function:

+ Here is the caller 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 91 of file G4ITModelProcessor.cc.

void G4ITModelProcessor::SetModelHandler ( G4ITModelHandler modelHandler)
inline

Definition at line 178 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 168 of file G4ITModelProcessor.hh.

References fpTrack.

Member Data Documentation

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

Definition at line 148 of file G4ITModelProcessor.hh.

Referenced by GetCurrentModel().

G4ITType G4ITModelProcessor::fCurrentType1
protected

Definition at line 156 of file G4ITModelProcessor.hh.

G4ITType G4ITModelProcessor::fCurrentType2
protected

Definition at line 157 of file G4ITModelProcessor.hh.

G4ThreadLocal std::map< const G4Track *, G4bool > * G4ITModelProcessor::fHasReacted
staticprotected
Initial value:
=
0

Definition at line 161 of file G4ITModelProcessor.hh.

G4bool G4ITModelProcessor::fInitialized
protected

Definition at line 140 of file G4ITModelProcessor.hh.

Referenced by SetModelHandler().

G4VITStepModel* G4ITModelProcessor::fpModel
protected

Definition at line 152 of file G4ITModelProcessor.hh.

G4ITModelHandler* G4ITModelProcessor::fpModelHandler
protected

Definition at line 141 of file G4ITModelProcessor.hh.

Referenced by SetModelHandler().

G4ITModelManager* G4ITModelProcessor::fpModelManager
protected

Definition at line 153 of file G4ITModelProcessor.hh.

const G4Track* G4ITModelProcessor::fpTrack
protected

Definition at line 143 of file G4ITModelProcessor.hh.

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

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

Definition at line 160 of file G4ITModelProcessor.hh.

Referenced by GetReactionInfo().

G4double G4ITModelProcessor::fUserMinTimeStep
protected

Definition at line 144 of file G4ITModelProcessor.hh.


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