Changeset 1315 for trunk/source/processes/hadronic/models/cascade/cascade/include/G4InuclCollider.hh
- Timestamp:
- Jun 18, 2010, 11:42:07 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/cascade/cascade/include/G4InuclCollider.hh
r962 r1315 23 23 // * acceptance of all terms of the Geant4 Software license. * 24 24 // ******************************************************************** 25 // $Id: G4InuclCollider.hh,v 1.13 2010/05/21 17:56:34 mkelsey Exp $ 26 // Geant4 tag: $Name: geant4-09-04-beta-cand-01 $ 25 27 // 28 // 20100413 M. Kelsey -- Pass G4CollisionOutput by ref to ::collide() 29 // 20100517 M. Kelsey -- Inherit from common base class, make other colliders 30 // simple data members 31 26 32 #ifndef G4INUCL_COLLIDER_HH 27 33 #define G4INUCL_COLLIDER_HH 28 29 #include "G4Collider.hh"30 #include "G4IntraNucleiCascader.hh"31 #include "G4NonEquilibriumEvaporator.hh"32 #include "G4EquilibriumEvaporator.hh"33 #include "G4Fissioner.hh"34 #include "G4BigBanger.hh"35 #include "G4ElementaryParticleCollider.hh"36 #include "G4InteractionCase.hh"37 #include "G4InuclNuclei.hh"38 #include "G4InuclSpecialFunctions.hh"39 #include "G4Analyser.hh"40 34 41 using namespace G4InuclSpecialFunctions; 35 #include "G4VCascadeCollider.hh" 42 36 43 class G4InuclCollider { 37 class G4BigBanger; 38 class G4CollisionOutput; 39 class G4ElementaryParticleCollider; 40 class G4EquilibriumEvaporator; 41 class G4IntraNucleiCascader; 42 class G4InuclParticle; 43 class G4NonEquilibriumEvaporator; 44 45 46 class G4InuclCollider : public G4VCascadeCollider { 44 47 45 48 public: 46 49 47 50 G4InuclCollider(); 51 virtual ~G4InuclCollider(); 48 52 49 G4InuclCollider(G4ElementaryParticleCollider* ecollider, 50 G4IntraNucleiCascader* incascader, 51 G4NonEquilibriumEvaporator* noeqevaporator, 52 G4EquilibriumEvaporator* eqevaporator, 53 G4Fissioner* fissioner, 54 G4BigBanger* bigbanger) { 55 56 setElementaryParticleCollider(ecollider); 57 setIntraNucleiCascader(incascader,ecollider); 58 setNonEquilibriumEvaporator(noeqevaporator); 59 setEquilibriumEvaporator(eqevaporator, fissioner, bigbanger); 60 setBigBanger(bigbanger); 61 62 }; 63 64 void setElementaryParticleCollider(G4ElementaryParticleCollider* ecollider) { 65 66 theElementaryParticleCollider = ecollider; 67 }; 68 69 void setIntraNucleiCascader(G4IntraNucleiCascader* incascader, 70 G4ElementaryParticleCollider* ecollider) { 71 72 theIntraNucleiCascader = incascader; 73 theIntraNucleiCascader->setElementaryParticleCollider(ecollider); 74 }; 75 76 void setNonEquilibriumEvaporator(G4NonEquilibriumEvaporator* noeqevaporator) { 77 78 theNonEquilibriumEvaporator = noeqevaporator; 79 }; 80 81 void setEquilibriumEvaporator(G4EquilibriumEvaporator* eqevaporator, 82 G4Fissioner* fissioner, 83 G4BigBanger* bigbanger) { 84 85 theEquilibriumEvaporator = eqevaporator; 86 theEquilibriumEvaporator->setFissioner(fissioner); 87 theEquilibriumEvaporator->setBigBanger(bigbanger); 88 }; 89 90 void setBigBanger(G4BigBanger* bigbanger) { 91 92 theBigBanger = bigbanger; 93 }; 94 95 G4CollisionOutput collide(G4InuclParticle* bullet, 96 G4InuclParticle* target); 53 void collide(G4InuclParticle* bullet, G4InuclParticle* target, 54 G4CollisionOutput& output); 97 55 98 56 private: 99 100 G4int verboseLevel;101 102 G4bool inelasticInteractionPossible(G4InuclParticle* bullet,103 G4InuclParticle* target,104 G4double ekin) const;105 106 G4InteractionCase bulletTargetSetter(G4InuclParticle* bullet,107 G4InuclParticle* target) const;108 109 G4bool explosion(G4InuclNuclei* target) const;110 111 57 G4ElementaryParticleCollider* theElementaryParticleCollider; 112 58 G4IntraNucleiCascader* theIntraNucleiCascader; … … 114 60 G4EquilibriumEvaporator* theEquilibriumEvaporator; 115 61 G4BigBanger* theBigBanger; 116 117 62 }; 118 63 119 #endif / / G4INUCL_COLLIDER_HH64 #endif /* G4INUCL_COLLIDER_HH */ 120 65 121 66
Note: See TracChangeset
for help on using the changeset viewer.