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/pre_equilibrium/exciton_model/include/G4HETCNeutron.hh

    r819 r1340  
    2424// ********************************************************************
    2525//
     26// $Id: G4HETCNeutron.hh,v 1.4 2010/08/28 15:16:55 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-03-ref-09 $
     28//
    2629// by V. Lara
    27 
     30//
     31// Modified:
     32// 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor
     33//            the source, use G4Pow
    2834
    2935#ifndef G4HETCNeutron_h
     
    3238#include "G4HETCFragment.hh"
    3339#include "G4ReactionProduct.hh"
    34 #include "G4Neutron.hh"
    35 #include "G4PreCompoundParameters.hh"
    36 #include "Randomize.hh"
    37 
    3840#include "G4NeutronCoulombBarrier.hh"
    39 
    4041
    4142class G4HETCNeutron : public G4HETCFragment
    4243{
    4344public:
    44   // default constructor
    45   G4HETCNeutron() : G4HETCFragment(1,0,&theNeutronCoulomBarrier,"Neutron") {}
    4645
    47   // copy constructor
    48   G4HETCNeutron(const G4HETCNeutron &right): G4HETCFragment(right) {}
     46  G4HETCNeutron();
    4947
    50   // destructor
    51   ~G4HETCNeutron() {}
     48  ~G4HETCNeutron();
     49
     50  virtual G4double GetKineticEnergy(const G4Fragment & aFragment);
     51
     52protected:
     53
     54  virtual G4double GetAlpha();
     55
     56  virtual G4double GetBeta();
     57
     58  virtual G4double GetSpinFactor();
     59
     60  virtual G4double K(const G4Fragment & aFragment);
     61
     62private:
    5263
    5364  // operators 
    54   const G4HETCNeutron & operator=(const G4HETCNeutron &right) {
    55     if (&right != this) this->G4HETCFragment::operator=(right);
    56     return *this;
    57   }
     65  G4HETCNeutron(const G4HETCNeutron &right);
     66  const G4HETCNeutron & operator=(const G4HETCNeutron &right);
     67  G4bool operator==(const G4HETCNeutron &right) const;
     68  G4bool operator!=(const G4HETCNeutron &right) const;
    5869
    59   G4bool operator==(const G4HETCNeutron &right) const
    60   { return G4HETCFragment::operator==(right);}
     70  G4NeutronCoulombBarrier theNeutronCoulombBarrier;
    6171 
    62   G4bool operator!=(const G4HETCNeutron &right) const
    63   { return G4HETCFragment::operator!=(right);}
    64 
    65 
    66   G4ReactionProduct * GetReactionProduct() const
    67   {
    68     G4ReactionProduct * theReactionProduct =
    69       new G4ReactionProduct(G4Neutron::NeutronDefinition());
    70     theReactionProduct->SetMomentum(GetMomentum().vect());
    71     theReactionProduct->SetTotalEnergy(GetMomentum().e());
    72 #ifdef PRECOMPOUND_TEST
    73     theReactionProduct->SetCreatorModel("G4PrecompoundModel");
    74 #endif
    75     return theReactionProduct;
    76   }
    77 
    78   virtual G4double GetKineticEnergy(const G4Fragment & aFragment);
    79  
    80 private:
    81   virtual G4double GetAlpha()
    82   {
    83     return 0.76+2.2/std::pow(GetRestA(),1.0/3.0);
    84   }
    85  
    86   virtual G4double GetBeta()
    87   {
    88     return (2.12/std::pow(GetRestA(),2.0/3.0)-0.05)*MeV/GetAlpha();
    89   }
    90 
    91   virtual G4double GetSpinFactor()
    92   {
    93     // (2s+1)
    94     return 2.0;
    95   }
    96  
    97   virtual G4double K(const G4Fragment& aFragment);
    98 
    99 private:
    100  
    101   G4NeutronCoulombBarrier theNeutronCoulomBarrier;
    102 
    10372};
    10473
Note: See TracChangeset for help on using the changeset viewer.