Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

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

    r1315 r1340  
    2424// ********************************************************************
    2525//
    26 // $Id: G4CascadeInterface.hh,v 1.16 2010/05/21 18:07:30 mkelsey Exp $
     26// $Id: G4CascadeInterface.hh,v 1.23 2010/09/23 18:13:32 mkelsey Exp $
    2727// Defines an interface to Bertini (BERT) cascade
    2828// based on INUCL  intra-nuclear transport.models
     
    3131// 20100405  M. Kelsey -- Fix constness of op== and op!=
    3232// 20100519  M. Kelsey -- Remove Collider data members
     33// 20100617  M. Kelsey -- Make G4InuclCollider a local data member
     34// 20100723  M. Kelsey -- Move G4CollisionOutput here for reuse
     35// 20100916  M. Kelsey -- Add functions to encapsulate ApplyYourself() actions,
     36//              make colliders pointers (don't expose dependencies)
     37// 20100922  M. Kelsey -- Add functions to select de-excitation method
    3338
    3439#ifndef G4CASCADEINTERFACE_H
     
    3843#include "G4FragmentVector.hh"
    3944#include "G4KineticTrackVector.hh"
     45#include "G4LorentzRotation.hh"
    4046#include "G4Nucleon.hh"
    4147#include "G4Nucleus.hh"
     
    4349#include "G4ReactionProduct.hh"
    4450#include "G4ReactionProductVector.hh"
     51
     52class G4InuclCollider;
     53class G4InuclParticle;
     54class G4CollisionOutput;
     55class G4CascadeCheckBalance;
     56class G4V3DNucleus;
    4557
    4658
     
    5870                                 G4Nucleus& theNucleus);
    5971
     72  void setVerboseLevel(G4int verbose) { verboseLevel = verbose; }
     73
     74  // Select betweeen different post-cascade de-excitation models
     75  void useCascadeDeexcitation();
     76  void usePreCompoundDeexcitation();
     77
     78protected:
     79  // Convert input projectile and target to Bertini internal types
     80  void createBullet(const G4HadProjectile& aTrack);
     81  void createTarget(G4Nucleus& theNucleus);
     82
     83  // Evaluate whether any outgoing particles penetrated Coulomb barrier
     84  G4bool coulombBarrierViolation() const;
     85
     86  // Conditions for rejecting cascade attempt
     87  G4bool retryInelasticProton() const;
     88  G4bool retryInelasticNucleus() const;
     89
     90  // Fill sparse array with minimum momenta for inelastic on hydrogen
     91  void initializeElasticCuts();
     92
     93  // Transfer Bertini internal final state to hadronics interface
     94  void copyOutputToHadronicResult();
     95
     96  // Terminate job because of energy/momentum/etc. violations
     97  void throwNonConservationFailure();
     98
    6099private:
    61100  G4int operator==(const G4CascadeInterface& right) const {
     
    67106  }
    68107
     108  static const G4int maximumTries;      // Number of iterations for inelastic
     109
     110  G4double cutElastic[32];              // Bullet momenta for hydrogen target
     111
    69112  G4int verboseLevel;
     113  G4int numberOfTries;
    70114
    71 private:
    72   G4HadFinalState theResult; 
     115  G4HadFinalState theResult;
     116  G4InuclCollider* collider;
     117  G4CascadeCheckBalance* balance;
     118
     119  G4InuclParticle* bullet;
     120  G4InuclParticle* target;
     121  G4CollisionOutput* output;
     122
     123  G4LorentzRotation bulletInLabFrame;
    73124};
    74125
Note: See TracChangeset for help on using the changeset viewer.