Geant4  10.00.p01
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 (std::map< G4Track *, G4TrackVectorHandle > *, const double currentStepTime, const double previousStepTime, const bool reachedUserStepTimeLimit)
 
const std::vector< std::vector
< G4VITModel * > > * 
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
< G4VITModel * > > 
fCurrentModel
 
G4VITModelfpModel
 
G4ITModelManagerfpModelManager
 
G4ITType fCurrentType1
 
G4ITType fCurrentType2
 
std::vector< G4ITReactionChange * > fReactionInfo
 

Static Protected Attributes

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

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

Constructor & Destructor Documentation

G4ITModelProcessor::G4ITModelProcessor ( )

Definition at line 42 of file G4ITModelProcessor.cc.

References fCurrentModel, fHasReacted, fInitialized, fpModel, fpModelHandler, fpModelManager, fpTrack, fUserMinTimeStep, and G4ITType::size().

+ Here is the call graph for this function:

G4ITModelProcessor::~G4ITModelProcessor ( )
virtual

Definition at line 60 of file G4ITModelProcessor.cc.

References fCurrentModel, and fReactionInfo.

G4ITModelProcessor::G4ITModelProcessor ( const G4ITModelProcessor other)
protected

Copy constructor.

Parameters
otherObject to copy from

Definition at line 69 of file G4ITModelProcessor.cc.

References fInitialized, fpModel, fpModelHandler, fpModelManager, fpTrack, and fUserMinTimeStep.

Member Function Documentation

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

Definition at line 157 of file G4ITModelProcessor.cc.

References CleanProcessor(), DoCalculateStep(), FatalErrorInArgument, fUserMinTimeStep, G4Exception(), and SetTrack().

+ Here is the call graph for this function:

void G4ITModelProcessor::CleanProcessor ( )
inline

Restaure original state of the modelProcessor.

This method should be call only by the ITStepManager

Definition at line 174 of file G4ITModelProcessor.hh.

References fpTrack.

Referenced by CalculateTimeStep().

+ Here is the caller graph for this function:

void G4ITModelProcessor::DoCalculateStep ( )

Definition at line 175 of file G4ITModelProcessor.cc.

References fCurrentModel, fpModel, fpTrack, fUserMinTimeStep, GetIT(), and G4IT::GetITType().

Referenced by CalculateTimeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITModelProcessor::FindReaction ( std::map< G4Track *, G4TrackVectorHandle > *  tracks,
const double  currentStepTime,
const double  previousStepTime,
const bool  reachedUserStepTimeLimit 
)

Get track A

Definition at line 194 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, fCurrentModel, fHasReacted, fpModelHandler, fReactionInfo, fStopAndKill, G4Exception(), G4ITModelHandler::GetAllModelManager(), GetIT(), G4Track::GetTrackStatus(), G4VITReactionProcess::MakeReaction(), and G4VITReactionProcess::ResetChanges().

+ Here is the call graph for this function:

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

Definition at line 157 of file G4ITModelProcessor.hh.

References fCurrentModel.

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

Definition at line 100 of file G4ITModelProcessor.hh.

References fReactionInfo.

const G4Track* G4ITModelProcessor::GetTrack ( ) const
inline

Definition at line 105 of file G4ITModelProcessor.hh.

References fpTrack.

void G4ITModelProcessor::Initialize ( )

Definition at line 88 of file G4ITModelProcessor.cc.

References fInitialized, fpModelHandler, and G4ITModelHandler::Initialize().

+ Here is the call graph for this function:

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

Definition at line 95 of file G4ITModelProcessor.cc.

References FatalErrorInArgument, fCurrentModel, fpModel, fpModelHandler, fpModelManager, G4Exception(), G4ITModelHandler::GetAllModelManager(), G4VITModel::GetTimeStepper(), and G4VITTimeStepper::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 81 of file G4ITModelProcessor.cc.

void G4ITModelProcessor::SetModelHandler ( G4ITModelHandler modelHandler)
inline

Definition at line 162 of file G4ITModelProcessor.hh.

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

+ Here is the call graph for this function:

void G4ITModelProcessor::SetTrack ( const G4Track track)
inlineprotected

Definition at line 152 of file G4ITModelProcessor.hh.

References fpTrack.

Referenced by CalculateTimeStep().

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<std::vector<G4VITModel*> > G4ITModelProcessor::fCurrentModel
protected
G4ITType G4ITModelProcessor::fCurrentType1
protected

Definition at line 140 of file G4ITModelProcessor.hh.

G4ITType G4ITModelProcessor::fCurrentType2
protected

Definition at line 141 of file G4ITModelProcessor.hh.

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

Definition at line 145 of file G4ITModelProcessor.hh.

Referenced by FindReaction(), and G4ITModelProcessor().

G4bool G4ITModelProcessor::fInitialized
protected

Definition at line 124 of file G4ITModelProcessor.hh.

Referenced by G4ITModelProcessor(), Initialize(), and SetModelHandler().

G4VITModel* G4ITModelProcessor::fpModel
protected

Definition at line 136 of file G4ITModelProcessor.hh.

Referenced by DoCalculateStep(), G4ITModelProcessor(), and InitializeStepper().

G4ITModelHandler* G4ITModelProcessor::fpModelHandler
protected
G4ITModelManager* G4ITModelProcessor::fpModelManager
protected

Definition at line 137 of file G4ITModelProcessor.hh.

Referenced by G4ITModelProcessor(), and InitializeStepper().

const G4Track* G4ITModelProcessor::fpTrack
protected
std::vector<G4ITReactionChange*> G4ITModelProcessor::fReactionInfo
protected

Definition at line 144 of file G4ITModelProcessor.hh.

Referenced by FindReaction(), GetReactionInfo(), and ~G4ITModelProcessor().

G4double G4ITModelProcessor::fUserMinTimeStep
protected

Definition at line 128 of file G4ITModelProcessor.hh.

Referenced by CalculateTimeStep(), DoCalculateStep(), and G4ITModelProcessor().


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