GGS(GenericGEANT4Simulation)Software  2.7.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 28 of file GGSCRMCPhysicsList.cpp.

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

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