Ignore:
Timestamp:
Feb 16, 2009, 10:14:30 AM (16 years ago)
Author:
garnier
Message:

en test de gl2ps. Problemes de libraries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc

    r850 r921  
    2424// ********************************************************************
    2525//
    26 // $Id: G4HadronInelasticQBBC.cc,v 1.9 2008/08/05 10:25:00 vnivanch Exp $
    27 // GEANT4 tag $Name: HEAD $
     26// $Id: G4HadronInelasticQBBC.cc,v 1.15 2008/11/21 18:42:36 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02-cand-01 $
    2828//
    2929//---------------------------------------------------------------------------
     
    5757#include "G4QStringChipsParticleLevelInterface.hh"
    5858#include "G4StringChipsInterface.hh"
     59#include "G4GeneratorPrecompoundInterface.hh"
    5960#include "G4QGSMFragmentation.hh"
    6061#include "G4LundStringFragmentation.hh"
     
    7879    chipsFlag(chips), hpFlag(hp), glFlag(glauber), wasActivated(false)
    7980{
    80   if(verbose > -1) G4cout << "### HadronInelasticQBBC" << G4endl;
    81   //  store = G4HadronProcessStore::Instance();
     81  if(verbose > 1) G4cout << "### HadronInelasticQBBC bertFlag= " <<  bertFlag <<G4endl;
    8282  theHPXSecI = 0;
    8383  theHPXSecC = 0;
    8484  theHPXSecF = 0;
    8585  theCascade = 0;
     86  preCompound = 0;
    8687  theCHIPSCascade   = 0;
    8788  theQuasiElastic   = 0;
    8889  theQGStringDecay  = 0;
    8990  theQGStringModel  = 0;
    90   theFTFStringDecay = 0;
    91   theFTFStringModel = 0;
     91  theFTFBStringDecay = 0;
     92  theFTFBStringModel = 0;
     93  theFTFCStringDecay = 0;
     94  theFTFCStringModel = 0;
    9295}
    9396
     
    9598{
    9699  delete theCascade;
     100  delete preCompound;
    97101  delete theCHIPSCascade;
    98102  delete theQuasiElastic;
    99103  delete theQGStringDecay;
    100104  delete theQGStringModel;
    101   delete theFTFStringDecay;
    102   delete theFTFStringModel;
     105  delete theFTFBStringDecay;
     106  delete theFTFCStringDecay;
     107  delete theFTFBStringModel;
     108  delete theFTFCStringModel;
    103109  delete theHPXSecI;
    104110  delete theHPXSecC;
     
    121127
    122128  if(verbose > 1)
    123     G4cout << "### HadronInelasticQBBC Construct Process" << G4endl;
    124 
    125   G4double minEstring  = 4.0*GeV;
    126   G4double maxEcascade = 6.0*GeV;
    127   //  G4double minFtf      = 7.5*GeV;
     129    G4cout << "### HadronInelasticQBBC Construct Process"
     130           << " ftfFlag= " << ftfFlag << "  bertFlag= " << bertFlag
     131           << G4endl;
     132
     133  G4double minEstring  = 9.5*GeV;
     134  G4double maxEcascade = 7.5*GeV;
     135  G4double minFTF      = 4.5*GeV;
     136  G4double maxFTF      = 25.*GeV;
    128137
    129138  //Binary
     
    143152
    144153  //QGS
    145   theCascade = new G4BinaryCascade;
     154  theCascade = new G4BinaryCascade();
     155  preCompound = new G4GeneratorPrecompoundInterface();
     156
    146157  theCHIPSCascade = new G4QStringChipsParticleLevelInterface;
    147   G4TheoFSGenerator* theQGSModel = new G4TheoFSGenerator();
     158  G4TheoFSGenerator* theQGSModel = new G4TheoFSGenerator("QGSP");
    148159  theQGStringModel  = new G4QGSModel< G4QGSParticipants >;
    149160  theQGStringDecay  = new G4ExcitedStringDecay(new G4QGSMFragmentation());
    150161  theQGStringModel->SetFragmentationModel(theQGStringDecay);
    151   theQGSModel->SetTransport(theCHIPSCascade);
    152 
    153   theQuasiElastic = new G4QuasiElasticChannel;
     162  theQGSModel->SetTransport(preCompound);
     163
     164  theQuasiElastic = new G4QuasiElasticChannel();
    154165  theQGSModel->SetQuasiElasticChannel(theQuasiElastic);
    155166  theQGSModel->SetHighEnergyGenerator(theQGStringModel);
     
    157168  theQGSModel->SetMaxEnergy(100*TeV);
    158169
    159   //FTF
    160   G4TheoFSGenerator* theFTFModel = new G4TheoFSGenerator();
    161   theFTFStringModel = new G4FTFModel();
    162   theFTFStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation());
    163   theFTFStringModel->SetFragmentationModel(theFTFStringDecay);
    164   //theFTFModel->SetTransport(theCHIPSCascade);
    165   theFTFModel->SetTransport(theCascade);
    166   theFTFModel->SetHighEnergyGenerator(theFTFStringModel);
    167   theFTFModel->SetMinEnergy(minEstring);
    168   theFTFModel->SetMaxEnergy(100*TeV);
    169   //theFTFModel->SetQuasiElasticChannel(theQuasiElastic);
     170  //FTFB
     171  G4TheoFSGenerator* theFTFBModel = new G4TheoFSGenerator("FTFP");
     172  theFTFBStringModel = new G4FTFModel();
     173  theFTFBStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation());
     174  theFTFBStringModel->SetFragmentationModel(theFTFBStringDecay);
     175
     176  //  theFTFBModel->SetTransport(theCascade);
     177  theFTFBModel->SetTransport(preCompound);
     178  theFTFBModel->SetHighEnergyGenerator(theFTFBStringModel);
     179  theFTFBModel->SetMinEnergy(minFTF);
     180  theFTFBModel->SetMaxEnergy(100*TeV);
     181
     182  //FTFP
     183  G4TheoFSGenerator* theFTFCModel = new G4TheoFSGenerator("FTFP");
     184  theFTFCStringModel = new G4FTFModel();
     185  theFTFCStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation());
     186  theFTFCStringModel->SetFragmentationModel(theFTFCStringDecay);
     187
     188  theFTFCModel->SetTransport(preCompound);
     189  theFTFCModel->SetHighEnergyGenerator(theFTFCStringModel);
     190  theFTFCModel->SetMinEnergy(minFTF);
     191  theFTFCModel->SetMaxEnergy(maxFTF);
    170192
    171193  theParticleIterator->reset();
     
    205227        hp->AddDataSet(&theXSecP);
    206228
    207         if(ftfFlag) hp->RegisterMe(theFTFModel);
    208         else        hp->RegisterMe(theQGSModel);
     229        hp->RegisterMe(theQGSModel);
     230        hp->RegisterMe(theFTFCModel);
     231        //if(ftfFlag) hp->RegisterMe(theFTFCModel);
     232        //else        hp->RegisterMe(theQGSModel);
    209233 
    210234        if(bertFlag) hp->RegisterMe(theBERT);
     
    216240      } else if(pname == "neutron") {
    217241        hp->AddDataSet(&theXSecN);
    218         if(ftfFlag) hp->RegisterMe(theFTFModel);
    219         else        hp->RegisterMe(theQGSModel);
     242        hp->RegisterMe(theQGSModel);
     243        hp->RegisterMe(theFTFCModel);
     244        //if(ftfFlag) hp->RegisterMe(theFTFCModel);
     245        //else        hp->RegisterMe(theQGSModel);
    220246
    221247        G4HadronCaptureProcess* theNeutronCapture =
     
    260286      } else if(pname == "pi-" || pname == "pi+") {
    261287        hp->AddDataSet(&thePiCross);
    262         if(ftfFlag) hp->RegisterMe(theFTFModel);
    263         else        hp->RegisterMe(theQGSModel);
     288        hp->RegisterMe(theQGSModel);
     289        hp->RegisterMe(theFTFCModel);
     290        //if(ftfFlag) hp->RegisterMe(theFTFCModel);
     291        //else        hp->RegisterMe(theQGSModel);
    264292
    265293        hp->RegisterMe(theBERT);
     
    274302                pname == "kaon0S"    ||
    275303                pname == "kaon0L") {
    276         hp->RegisterMe(theFTFModel);
     304        hp->RegisterMe(theFTFBModel);
    277305        hp->RegisterMe(theBERT);
    278306        //hp->AddDataSet(new G4UInelasticCrossSection(particle));
     
    284312                pname == "xi0") {
    285313
    286         hp->RegisterMe(theFTFModel);
     314        hp->RegisterMe(theFTFBModel);
    287315        hp->RegisterMe(theBERT);
    288316        //hp->AddDataSet(new G4UInelasticCrossSection(particle));
    289317
    290318      } else if(pname == "anti_proton" || pname == "anti_neutron") {
    291         hp->RegisterMe(theFTFModel);
     319        hp->RegisterMe(theFTFBModel);
    292320        hp->RegisterMe(theCHIPS);
    293321        //hp->AddDataSet(new G4UInelasticCrossSection(particle));
    294322
    295323      } else {
    296         hp->RegisterMe(theFTFModel);
     324        hp->RegisterMe(theFTFBModel);
    297325        hp->RegisterMe(theCHIPS);
    298326        //hp->AddDataSet(new G4UInelasticCrossSection(particle));
Note: See TracChangeset for help on using the changeset viewer.