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/physics_lists/builders/src/G4HadronDElasticPhysics.cc

    r1228 r1315  
    2424// ********************************************************************
    2525//
    26 // $Id: G4HadronDElasticPhysics.cc,v 1.3 2008/05/19 10:21:34 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-03 $
     26// $Id: G4HadronDElasticPhysics.cc,v 1.6 2010/06/03 15:09:54 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
    2828//
    2929//---------------------------------------------------------------------------
     
    4343//                     for neutrons
    4444// 06.03.2007 V.Ivanchenko use updated interface to G4UElasticCrossSection
     45// 03.06.2010 V.Ivanchenko cleanup constructors and ConstructProcess method
    4546//
    4647//----------------------------------------------------------------------------
    4748//
     49// Diffuse optical model for sampling scattering
     50// BBG cross sections for p, pi+-
     51// XS cross sections for n
     52// LHEP cross sections for other particles
    4853
    4954#include "G4HadronDElasticPhysics.hh"
    5055
    51 #include "G4HadronicProcess.hh"
    52 #include "G4HadronElasticProcess.hh"
    53 #include "G4HadronicInteraction.hh"
    54 #include "G4DiffuseElastic.hh"
    55 #include "G4HadronElastic.hh"
    56 
    5756#include "G4ParticleDefinition.hh"
    5857#include "G4ProcessManager.hh"
     58#include "G4HadronicProcess.hh"
    5959
    6060#include "G4MesonConstructor.hh"
     
    6363#include "G4Neutron.hh"
    6464
    65 #include "G4VQCrossSection.hh"
    66 #include "G4UElasticCrossSection.hh"
     65#include "G4WHadronElasticProcess.hh"
     66#include "G4VHadronElastic.hh"
     67#include "G4CHIPSElastic.hh"
     68#include "G4ElasticHadrNucleusHE.hh"
     69#include "G4BGGNucleonElasticXS.hh"
     70#include "G4BGGPionElasticXS.hh"
     71#include "G4NeutronElasticXS.hh"
     72
     73#include "G4DiffuseElastic.hh"
     74
     75#include "G4NeutronElasticXS.hh"
    6776#include "G4BGGNucleonElasticXS.hh"
    6877#include "G4BGGPionElasticXS.hh"
    6978
    70 G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver, G4bool hp)
    71   : G4VPhysicsConstructor("DElastic"), mname("DElastic"), verbose(ver),
    72     hpFlag(hp), wasActivated(false)
     79G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver)
     80  : G4VPhysicsConstructor("hElasticDIFFUSE"), verbose(ver),
     81    wasActivated(false)
    7382{
    74   if(verbose > 1) G4cout << "### HadronDElasticPhysics" << G4endl;
     83  if(verbose > 1) {
     84    G4cout << "### G4HadronHElasticPhysics: " << GetPhysicsName()
     85           << G4endl;
     86  }
     87}
     88
     89G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver, G4bool)
     90  : G4VPhysicsConstructor("hElasticDIFFUSE"), verbose(ver),
     91    wasActivated(false)
     92{
     93  if(verbose > 1) {
     94    G4cout << "### G4HadronHElasticPhysics: " << GetPhysicsName()
     95           << G4endl;
     96  }
    7597}
    7698
     
    97119  wasActivated = true;
    98120
    99   if(verbose > 1)
    100     G4cout << "### HadronDElasticPhysics Construct Processes with the model <"
    101            << mname << ">" << G4endl;
     121  //G4double elimit = 1.0*GeV;
    102122
    103   G4UHadronElasticProcess* hel = 0;
     123  if(verbose > 1) {
     124    G4cout << "### HadronDElasticPhysics Construct Processes " << G4endl;
     125  }
     126
     127  //G4VHadronElastic* plep0 = new G4VHadronElastic();
     128  //G4VHadronElastic* plep1 = new G4VHadronElastic();
     129  //plep1->SetMaxEnergy(elimit);
     130
     131  //  G4CHIPSElastic* chipsp = new G4CHIPSElastic();
     132  // G4CHIPSElastic* chipsn = new G4CHIPSElastic();
     133
     134  //G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE();
     135  //he->SetMinEnergy(elimit);
     136
    104137  G4DiffuseElastic* model = 0;
    105 
    106   G4double elimit = 11.0*MeV;
    107 
    108   G4HadronElastic* he = new G4HadronElastic();
    109   G4VQCrossSection* man = he->GetCS();
    110   he->SetMaxEnergy(elimit);
    111138
    112139  theParticleIterator->reset();
     
    140167     
    141168      G4ProcessManager* pmanager = particle->GetProcessManager();
    142       hel = new G4UHadronElasticProcess("hElastic");
    143       hel->SetQElasticCrossSection(man);
     169      G4WHadronElasticProcess* hel = new G4WHadronElasticProcess();
    144170      if(pname == "proton") {
    145171        hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
    146172      } else if (pname == "pi+" || pname == "pi-") {
    147173        hel->AddDataSet(new G4BGGPionElasticXS(particle));
    148       } else {
    149         hel->AddDataSet(new G4UElasticCrossSection(particle));
    150174      }
    151175      model = new G4DiffuseElastic(particle);
    152176      hel->RegisterMe(model);
    153       hel->RegisterMe(he);
    154177      pmanager->AddDiscreteProcess(hel);
    155178
     
    158181
    159182      G4ProcessManager* pmanager = particle->GetProcessManager();
    160       hel = new G4UHadronElasticProcess("hElastic");
    161       hel->SetQElasticCrossSection(man);
    162       hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
     183      G4WHadronElasticProcess* hel = new G4WHadronElasticProcess();
     184      hel->AddDataSet(new G4NeutronElasticXS());
    163185      model = new G4DiffuseElastic(particle);
    164       if(hpFlag) {
    165         model->SetMinEnergy(19.5*MeV);
    166         G4NeutronHPElastic* modelHP = new G4NeutronHPElastic();
    167         hel->RegisterMe(modelHP);
    168         hel->AddDataSet(new G4NeutronHPElasticData());
    169       } else {
    170         hel->RegisterMe(he);
    171       }
    172186      hel->RegisterMe(model);
    173187      pmanager->AddDiscreteProcess(hel);
Note: See TracChangeset for help on using the changeset viewer.