G4EquilibriumEvaporator.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 // $Id$
00027 //
00028 // 20100413  M. Kelsey -- Pass G4CollisionOutput by ref to ::collide()
00029 // 20100517  M. Kelsey -- Inherit from common base class, make other colliders
00030 //              simple data members.  Rename timeToBigBang() to override
00031 //              base explosion().
00032 // 20100714  M. Kelsey -- Switch to new G4CascadeColliderBase class
00033 // 20100923  M. Kelsey -- Migrate to integer A and Z
00034 // 20100925  M. Kelsey -- Remove no longer necessary explosion() interface
00035 // 20110801  M. Kelsey -- Move "parms" buffer to data member, allocate in
00036 //              constructor.
00037 // 20110809  M. Kelsey -- Move "foutput" buffer to data member
00038 
00039 #ifndef G4EQUILIBRIUM_EVAPORATOR_HH
00040 #define G4EQUILIBRIUM_EVAPORATOR_HH
00041 
00042 #include "G4CascadeColliderBase.hh"
00043 #include "G4CollisionOutput.hh"
00044 #include "G4Fissioner.hh"
00045 #include "G4BigBanger.hh"
00046 
00047 class G4InuclParticle;
00048 
00049 class G4EquilibriumEvaporator : public G4CascadeColliderBase {
00050 public:
00051   G4EquilibriumEvaporator();
00052   virtual ~G4EquilibriumEvaporator();
00053 
00054   void collide(G4InuclParticle* bullet, G4InuclParticle* target,
00055                G4CollisionOutput& output);
00056 
00057 private: 
00058   // Replace base class verision
00059   virtual G4bool explosion(G4int a, G4int z, G4double e) const;
00060 
00061   // FIXME:  Need to redeclare and call through base-class polymorphisms
00062   virtual G4bool explosion(G4InuclNuclei* target) const {
00063     return G4CascadeColliderBase::explosion(target);
00064   }
00065 
00066   virtual G4bool explosion(G4Fragment* target) const {
00067     return G4CascadeColliderBase::explosion(target);
00068   }
00069 
00070   G4bool goodRemnant(G4int a, G4int z) const; 
00071   G4double getE0(G4int A) const; 
00072   G4double getPARLEVDEN(G4int A, G4int Z) const; 
00073   G4double getQF(G4double x, G4double x2, G4int a, G4int z, G4double e) const;
00074   G4double getAF(G4double x, G4int a, G4int z, G4double e) const; 
00075 
00076   // Buffer for parameter sets
00077   std::pair<std::vector<G4double>, std::vector<G4double> > parms;
00078   G4CollisionOutput fission_output;
00079 
00080   G4Fissioner theFissioner;
00081   G4BigBanger theBigBanger;
00082 };        
00083 
00084 #endif /* G4EQUILIBRIUM_EVAPORATOR_HH */
00085 
00086 

Generated on Mon May 27 17:48:11 2013 for Geant4 by  doxygen 1.4.7