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/G4PreCompoundNucleon.hh

    r962 r1340  
    2424// ********************************************************************
    2525//
    26 //J. M. Quesada (August 2008). 
    27 //Based  on previous work by V. Lara
     26// $Id: G4PreCompoundNucleon.hh,v 1.7 2010/08/28 15:16:55 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-03-ref-09 $
    2828//
     29// J. M. Quesada (August 2008). 
     30// Based  on previous work by V. Lara
     31//
     32// Modified:
     33// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added
     34//                        G4ParticleDefinition to constructor
    2935
    3036
     
    3642class G4PreCompoundNucleon : public G4PreCompoundFragment
    3743{
     44public: 
     45
     46  G4PreCompoundNucleon(const G4ParticleDefinition*,
     47                       G4VCoulombBarrier * aCoulombBarrier);
     48 
     49  virtual ~G4PreCompoundNucleon();
     50   
     51protected:
     52
     53  virtual G4double
     54  ProbabilityDistributionFunction(G4double eKin,
     55                                  const G4Fragment& aFragment);
     56
     57  virtual G4double CrossSection(G4double ekin) = 0;
     58
     59  virtual G4double
     60  GetRj(G4int NumberParticles, G4int NumberCharged) = 0;
     61
     62  virtual G4double GetAlpha() = 0;
     63
     64  virtual G4double GetBeta() = 0;
     65
     66  inline G4double GetOpt0(G4double ekin);
     67
    3868private:
     69
    3970  // default constructor
    40   G4PreCompoundNucleon() {};
     71  G4PreCompoundNucleon();
     72  // operators
     73  G4PreCompoundNucleon(const G4PreCompoundNucleon &right);
     74  const G4PreCompoundNucleon&
     75  operator= (const G4PreCompoundNucleon &right);
     76  G4int operator==(const G4PreCompoundNucleon &right) const;
     77  G4int operator!=(const G4PreCompoundNucleon &right) const;   
    4178
    42 public:
    43  
    44   // copy constructor
    45   G4PreCompoundNucleon(const G4PreCompoundNucleon &right):
    46     G4PreCompoundFragment(right) {}
     79  G4double fact;
     80};
    4781
    48   // constructor 
    49   G4PreCompoundNucleon(const G4double anA,
    50                        const G4double aZ,
    51                        G4VCoulombBarrier* aCoulombBarrier,                     
    52                        const G4String & aName) :
    53     G4PreCompoundFragment(anA,aZ,aCoulombBarrier,aName) {}
    54 
    55 
    56   virtual ~G4PreCompoundNucleon() {}
    57 
    58   // operators 
    59   const G4PreCompoundNucleon &
    60   operator=(const G4PreCompoundNucleon &right)
    61   {
    62     if (&right != this) this->G4PreCompoundFragment::operator=(right);
    63     return *this;
    64   }
    65  
    66   G4bool operator==(const G4PreCompoundNucleon &right) const
    67   {
    68     return G4PreCompoundFragment::operator==(right);
    69   }
    70    
    71   G4bool operator!=(const G4PreCompoundNucleon &right) const
    72   {
    73     return G4PreCompoundFragment::operator!=(right);
    74   }
    75    
    76   virtual G4double ProbabilityDistributionFunction(const G4double eKin,
    77                                                    const G4Fragment& aFragment);
    78  
    79   private:
    80 
    81   G4bool IsItPossible(const G4Fragment&) ;   
    82    
    83  protected:
    84 
    85   virtual G4double CrossSection(const G4double ekin)=0;
    86 
    87   virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) = 0;
    88 
    89  };
     82// *********************** OPT=0 : Dostrovski's cross section  ***************
     83inline G4double G4PreCompoundNucleon::GetOpt0(G4double K)
     84{
     85  G4double r0 = theParameters->Getr0()*ResidualA13();
     86  // cross section is now given in mb (r0 is in mm) for the sake of consistency
     87  //with the rest of the options
     88  return 1.e+25*CLHEP::pi*r0*r0*ResidualA13()*GetAlpha()*(1.+GetBeta()/K);
     89}
    9090
    9191#endif
Note: See TracChangeset for help on using the changeset viewer.