Geant4  10.00.p04
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4ITModelProcessor Class Reference

Public Member Functions

 G4ITModelProcessor ()
 
virtual ~G4ITModelProcessor ()
 
void SetModelHandler (G4ITModelHandler *)
 
void Initialize ()
 
void CleanProcessor ()
 
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)
 
G4ITModelProcessoroperator= (const G4ITModelProcessor &other)
 

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
 

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.

Constructor & Destructor Documentation

virtual ~G4ITModelProcessor ( )
virtual

Copy constructor

Parameters
otherObject to copy from

Member Function Documentation

void SetModelHandler ( G4ITModelHandler modelHandler)
void Initialize ( )
void CleanProcessor ( )

Restaure original state of the modelProcessor. This method should be call only by the ITStepManager

References fpTrack.

void InitializeStepper ( const G4double currentGlobalTime,
const G4double userMinTime 
)
void SetTrack ( const G4Track track)
protected

References fpTrack.

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 ( )

References fCurrentModel.

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

References fReactionInfo.

const G4Track* GetTrack ( ) const

References fpTrack.

G4ITModelProcessor& operator= ( const G4ITModelProcessor other)
protected

Assignment operator

Parameters
otherObject to assign from
Returns
A reference to this

Member Data Documentation

G4bool fInitialized
protected

Referenced by SetModelHandler().

G4ITModelHandler* fpModelHandler
protected

Referenced by SetModelHandler().

const G4Track* fpTrack
protected

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

G4double fUserMinTimeStep
protected
std::vector<std::vector<G4VITModel*> > fCurrentModel
protected

Referenced by GetCurrentModel().

G4VITModel* fpModel
protected
G4ITModelManager* fpModelManager
protected
G4ITType fCurrentType1
protected
G4ITType fCurrentType2
protected
std::vector<G4ITReactionChange*> fReactionInfo
protected

Referenced by GetReactionInfo().

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