Geant4  10.01.p02
G4ITBox Class Reference

G4ITBox behaves just like a stack for G4IT. More...

#include <G4ITBox.hh>

+ Collaboration diagram for G4ITBox:

Public Member Functions

 G4ITBox ()
 
 ~G4ITBox ()
 
void ResetStack ()
 
void Push (G4IT *)
 
void Extract (G4IT *)
 
G4ITFindIT (const G4Track &)
 The FindIT methods are used for check only. More...
 
const G4ITFindIT (const G4Track &) const
 
void TransferTo (G4ITBox *)
 
G4bool Empty () const
 
G4int GetNTrack () const
 
G4ITGetFirstIT ()
 
G4ITGetLastIT ()
 
const G4ITGetFirstIT () const
 
const G4ITGetLastIT () const
 
void SetNextBox (G4ITBox *box)
 
G4ITBoxGetNextBox ()
 
const G4ITBoxGetNextBox () const
 
void SetPreviousBox (G4ITBox *box)
 
G4ITBoxGetPreviousBox ()
 
const G4ITBoxGetPreviousBox () const
 

Private Member Functions

const G4ITBoxoperator= (const G4ITBox &right)
 

Private Attributes

G4int fNbIT
 
G4ITfpFirstIT
 
G4ITfpLastIT
 
G4ITBoxfpPreviousBox
 
G4ITBoxfpNextBox
 

Detailed Description

G4ITBox behaves just like a stack for G4IT.

You can search for specific tracks. Each G4IT knows to which G4ITBox it belongs and its corresponding node. This makes the deletion of an element very fast. The drawback is that a G4IT can only belong to one G4ITBox. If you are not looking for this feature, please use std::list.

Definition at line 61 of file G4ITBox.hh.

Constructor & Destructor Documentation

G4ITBox::G4ITBox ( )

Definition at line 38 of file G4ITBox.cc.

G4ITBox::~G4ITBox ( )

Definition at line 41 of file G4ITBox.cc.

References fNbIT, fpFirstIT, fpNextBox, fpPreviousBox, G4IT::GetNext(), SetNextBox(), and SetPreviousBox().

+ Here is the call graph for this function:

Member Function Documentation

G4bool G4ITBox::Empty ( ) const
inline

Definition at line 107 of file G4ITBox.hh.

References fNbIT.

void G4ITBox::Extract ( G4IT aStackedIT)

Definition at line 87 of file G4ITBox.cc.

References fNbIT, fpFirstIT, fpLastIT, G4IT::GetNext(), G4IT::GetPrevious(), G4IT::SetITBox(), G4IT::SetNext(), and G4IT::SetPrevious().

Referenced by G4IT::TakeOutBox(), and TransferTo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4IT * G4ITBox::FindIT ( const G4Track track)

The FindIT methods are used for check only.

Those methods are not effective due to the linear search. It is better to use GetIT(track) in order to retrieve the IT and GetIT(track)->GetBox() in order to check which is the box pointer.

Definition at line 110 of file G4ITBox.cc.

References fNbIT, fpLastIT, and G4IT::GetPrevious().

+ Here is the call graph for this function:

const G4IT * G4ITBox::FindIT ( const G4Track track) const

Definition at line 130 of file G4ITBox.cc.

References fNbIT, fpLastIT, and G4IT::GetPrevious().

+ Here is the call graph for this function:

G4IT * G4ITBox::GetFirstIT ( )
inline

Definition at line 116 of file G4ITBox.hh.

References fpFirstIT.

const G4IT * G4ITBox::GetFirstIT ( ) const
inline

Definition at line 125 of file G4ITBox.hh.

References fpFirstIT.

G4IT * G4ITBox::GetLastIT ( )
inline

Definition at line 120 of file G4ITBox.hh.

References fpLastIT.

const G4IT * G4ITBox::GetLastIT ( ) const
inline

Definition at line 129 of file G4ITBox.hh.

References fpLastIT.

G4ITBox * G4ITBox::GetNextBox ( )
inline

Definition at line 139 of file G4ITBox.hh.

References fpNextBox.

const G4ITBox* G4ITBox::GetNextBox ( ) const
inline
G4int G4ITBox::GetNTrack ( ) const
inline

Definition at line 112 of file G4ITBox.hh.

References fNbIT.

G4ITBox * G4ITBox::GetPreviousBox ( )
inline

Definition at line 149 of file G4ITBox.hh.

References fpPreviousBox.

const G4ITBox* G4ITBox::GetPreviousBox ( ) const
inline
const G4ITBox & G4ITBox::operator= ( const G4ITBox right)
private

Definition at line 60 of file G4ITBox.cc.

References fNbIT, fpFirstIT, fpLastIT, fpNextBox, and fpPreviousBox.

void G4ITBox::Push ( G4IT aIT)

Definition at line 70 of file G4ITBox.cc.

References fNbIT, fpFirstIT, fpLastIT, G4IT::SetITBox(), G4IT::SetNext(), and G4IT::SetPrevious().

Referenced by TransferTo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITBox::ResetStack ( )
void G4ITBox::SetNextBox ( G4ITBox box)
inline

Definition at line 134 of file G4ITBox.hh.

References fpNextBox.

Referenced by ~G4ITBox().

+ Here is the caller graph for this function:

void G4ITBox::SetPreviousBox ( G4ITBox box)
inline

Definition at line 144 of file G4ITBox.hh.

References fpPreviousBox.

Referenced by ~G4ITBox().

+ Here is the caller graph for this function:

void G4ITBox::TransferTo ( G4ITBox aStack)

Definition at line 150 of file G4ITBox.cc.

References Extract(), fNbIT, fpFirstIT, G4IT::GetNext(), and Push().

+ Here is the call graph for this function:

Member Data Documentation

G4int G4ITBox::fNbIT
private

Definition at line 99 of file G4ITBox.hh.

Referenced by Empty(), Extract(), FindIT(), GetNTrack(), operator=(), Push(), TransferTo(), and ~G4ITBox().

G4IT* G4ITBox::fpFirstIT
private

Definition at line 100 of file G4ITBox.hh.

Referenced by Extract(), GetFirstIT(), operator=(), Push(), TransferTo(), and ~G4ITBox().

G4IT* G4ITBox::fpLastIT
private

Definition at line 101 of file G4ITBox.hh.

Referenced by Extract(), FindIT(), GetLastIT(), operator=(), and Push().

G4ITBox* G4ITBox::fpNextBox
private

Definition at line 104 of file G4ITBox.hh.

Referenced by GetNextBox(), operator=(), SetNextBox(), and ~G4ITBox().

G4ITBox* G4ITBox::fpPreviousBox
private

Definition at line 103 of file G4ITBox.hh.

Referenced by GetPreviousBox(), operator=(), SetPreviousBox(), and ~G4ITBox().


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