GGS(GenericGEANT4Simulation)Software  2.6.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
Public Member Functions
GGSCRMCPhysicsList Class Reference

Physics list based on CRMC for high-energy hadron-hadron interactions. More...

#include <GGSCRMCPhysicsList.h>

Inheritance diagram for GGSCRMCPhysicsList:
Inheritance graph
[legend]
Collaboration diagram for GGSCRMCPhysicsList:
Collaboration graph
[legend]

Public Member Functions

 GGSCRMCPhysicsList ()
 Constructor.
 
void ConstructProcess ()
 Constructs the physical processes. More...
 

Detailed Description

Physics list based on CRMC for high-energy hadron-hadron interactions.

This physics list inherits from FTFP_BERT and above athreshold energy it replaces the FTF model for hadron-hadron interactions with one of the models supported by CRMC. The model and the energy thresholds can be set by means of datacard commands. Default values are DPMJET-3.06 and 300 GeV.

Definition at line 22 of file GGSCRMCPhysicsList.h.

Member Function Documentation

void GGSCRMCPhysicsList::ConstructProcess ( )

Constructs the physical processes.

Calls FTFP_Bert::ConstructProcess and then creates the CRMC model.

Definition at line 26 of file GGSCRMCPhysicsList.cpp.

26  {
27  const std::string routineName("GGSCRMCPhysicsList::ConstructProcess");
28  FTFP_BERT::ConstructProcess();
29 
30  // Set CRMC underlying model
31  // 0 - EPOS LHC 1 - EPOS 1.99 12 - DPMJET3
32  // see CRMC documentation for the complete list of
33  // available models
34  int crmcModelID = -1;
35 
36  // Post-LHC
37  if (_modelName == "EPOS-LHC") {
38  crmcModelID = 0;
39  }
40  else if (_modelName == "QGSJETII-04") {
41  crmcModelID = 7;
42  }
43  else if (_modelName == "SIBYLL-2.3") {
44  crmcModelID = 6;
45  }
46  //Pre-LHC
47  else if (_modelName == "DPMJET-3.06") {
48  crmcModelID = 12;
49  }
50  else if (_modelName == "EPOS-1.99") {
51  crmcModelID = 1;
52  }
53  else if (_modelName == "QGSJET-01") {
54  crmcModelID = 2;
55  }
56  else if (_modelName == "QGSJETII-03") {
57  crmcModelID = 11;
58  }
59 
60  else {
61  G4Exception("GGSCRMCPhysicsList::ConstructProcess", "0", G4ExceptionSeverity::FatalException,
62  std::string("Unknown model: ").append(_modelName).c_str());
63  }
64 
65  COUT(INFO) << "CRMC hadronic interaction engine. Model: " << _modelName << ", threshold: "
66  << _modelThreshold / CLHEP::GeV << " GeV." << ENDL;
67  G4HadronPhysicsCRMC* crmcModel = new G4HadronPhysicsCRMC(crmcModelID);
68  crmcModel->SetEnergyThreshold(_modelThreshold);
69  crmcModel->ConstructProcess();
70 
71 }
#define ENDL
Definition: GGSSmartLog.h:93
#define COUT(level)
Smart log macro. It writes on stdout only if the specified verbosity level is lesser than the maximum...
Definition: GGSSmartLog.h:66

The documentation for this class was generated from the following files: