Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ITReaction Class Reference

#include <G4ITReaction.hh>

Inheritance diagram for G4ITReaction:
Collaboration diagram for G4ITReaction:

Public Member Functions

virtual ~G4ITReaction ()
 
G4TrackGetReactant (G4Track *trackA)
 
std::pair< G4Track *, G4Track * > GetReactants () const
 
std::size_t GetHash () const
 
double GetTime ()
 
void RemoveMe ()
 
void AddIterator (G4ITReactionPerTrackPtr reactionPerTrack, G4ITReactionList::iterator it)
 
void AddIterator (G4ITReactionPerTimeIt it)
 

Static Public Member Functions

static G4ITReactionPtr New (double time, G4Track *trackA, G4Track *trackB)
 

Public Attributes

double fTime
 
std::pair< G4Track *, G4Track * > fReactants
 
G4ReactionPerTrackIt fReactionPerTrack
 
G4ITReactionPerTimeItfReactionPerTimeIt
 

Detailed Description

Definition at line 79 of file G4ITReaction.hh.

Constructor & Destructor Documentation

G4ITReaction::~G4ITReaction ( )
virtual

Definition at line 80 of file G4ITReaction.cc.

81 {
82  //gAll->erase(this);
84 }
G4ITReactionPerTimeIt * fReactionPerTimeIt

Member Function Documentation

void G4ITReaction::AddIterator ( G4ITReactionPerTrackPtr  reactionPerTrack,
G4ITReactionList::iterator  it 
)
inline

Definition at line 101 of file G4ITReaction.hh.

103  {
104  fReactionPerTrack.push_back(std::make_pair(reactionPerTrack, it));
105  }
G4ReactionPerTrackIt fReactionPerTrack
void G4ITReaction::AddIterator ( G4ITReactionPerTimeIt  it)
inline

Definition at line 107 of file G4ITReaction.hh.

108  {
110  }
G4ITReactionPerTimeIt * fReactionPerTimeIt
std::multiset< G4ITReactionPtr, compReactionPerTime >::iterator G4ITReactionPerTimeIt
Definition: G4ITReaction.hh:77
std::size_t G4ITReaction::GetHash ( ) const

Definition at line 61 of file G4ITReaction.cc.

62 {
63  std::size_t hash = 0;
64  hash_combine(hash, fReactants.first->GetTrackID());
65  hash_combine(hash, fReactants.first->GetTrackID());
66  return hash;
67 }
void hash_combine(std::size_t &seed, const T &v)
Definition: G4ITReaction.cc:54
static unsigned long FASTCALL hash(XML_Parser parser, KEY s)
Definition: xmlparse.cc:5967
std::pair< G4Track *, G4Track * > fReactants

Here is the call graph for this function:

G4Track* G4ITReaction::GetReactant ( G4Track trackA)
inline

Definition at line 89 of file G4ITReaction.hh.

90  {
91  if(fReactants.first != trackA) return fReactants.first;
92  return fReactants.second;
93  }
std::pair< G4Track *, G4Track * > fReactants
std::pair<G4Track*, G4Track*> G4ITReaction::GetReactants ( ) const
inline

Definition at line 95 of file G4ITReaction.hh.

95 {return fReactants;}
std::pair< G4Track *, G4Track * > fReactants
double G4ITReaction::GetTime ( )
inline

Definition at line 97 of file G4ITReaction.hh.

97 { return fTime; }
static G4ITReactionPtr G4ITReaction::New ( double  time,
G4Track trackA,
G4Track trackB 
)
inlinestatic

Definition at line 83 of file G4ITReaction.hh.

84  {
85  return G4ITReactionPtr(new G4ITReaction(time, trackA, trackB));
86  }
G4shared_ptr< G4ITReaction > G4ITReactionPtr
Definition: G4ITReaction.hh:59

Here is the caller graph for this function:

void G4ITReaction::RemoveMe ( )

Definition at line 86 of file G4ITReaction.cc.

87 {
88  G4ITReactionPtr backMeUp = this->shared_from_this();
89  for(G4ReactionPerTrackIt::iterator it = fReactionPerTrack.begin() ;
90  it != fReactionPerTrack.end() ; ++it)
91  {
92  // G4cout << it->first.get() << G4endl;
93  // assert(it->first.get() != 0);
94  it->first->RemoveThisReaction(it->second);
95  }
96  fReactionPerTrack.clear();
97 
99  {
101  delete fReactionPerTimeIt;
102  fReactionPerTimeIt = 0;
103  }
104 }
G4shared_ptr< G4ITReaction > G4ITReactionPtr
Definition: G4ITReaction.hh:59
static G4ITReactionSet * Instance()
G4ITReactionPerTime & GetReactionsPerTime()
G4ITReactionPerTimeIt * fReactionPerTimeIt
G4ReactionPerTrackIt fReactionPerTrack

Here is the call graph for this function:

Member Data Documentation

std::pair<G4Track*, G4Track*> G4ITReaction::fReactants

Definition at line 113 of file G4ITReaction.hh.

G4ITReactionPerTimeIt* G4ITReaction::fReactionPerTimeIt

Definition at line 115 of file G4ITReaction.hh.

G4ReactionPerTrackIt G4ITReaction::fReactionPerTrack

Definition at line 114 of file G4ITReaction.hh.

double G4ITReaction::fTime

Definition at line 112 of file G4ITReaction.hh.


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