Ignore:
Timestamp:
Jun 18, 2010, 11:42:07 AM (14 years ago)
Author:
garnier
Message:

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/cascade/cascade/include/G4InuclCollider.hh

    r962 r1315  
    2323// * acceptance of all terms of the Geant4 Software license.          *
    2424// ********************************************************************
     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 $
    2527//
     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
    2632#ifndef G4INUCL_COLLIDER_HH
    2733#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"
    4034
    41 using namespace G4InuclSpecialFunctions;
     35#include "G4VCascadeCollider.hh"
    4236
    43 class G4InuclCollider {
     37class G4BigBanger;
     38class G4CollisionOutput;
     39class G4ElementaryParticleCollider;
     40class G4EquilibriumEvaporator;
     41class G4IntraNucleiCascader;
     42class G4InuclParticle;
     43class G4NonEquilibriumEvaporator;
     44
     45
     46class G4InuclCollider : public G4VCascadeCollider {
    4447
    4548public:
    4649
    4750  G4InuclCollider();
     51  virtual ~G4InuclCollider();
    4852
    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);
    9755
    9856private:
    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        
    11157  G4ElementaryParticleCollider* theElementaryParticleCollider;
    11258  G4IntraNucleiCascader* theIntraNucleiCascader;
     
    11460  G4EquilibriumEvaporator* theEquilibriumEvaporator;
    11561  G4BigBanger* theBigBanger;
    116 
    11762};       
    11863
    119 #endif // G4INUCL_COLLIDER_HH
     64#endif /* G4INUCL_COLLIDER_HH */
    12065
    12166
Note: See TracChangeset for help on using the changeset viewer.