#include <G4MiscLHEPBuilder.hh>
Public Member Functions | |
G4MiscLHEPBuilder () | |
virtual | ~G4MiscLHEPBuilder () |
void | Build () |
Definition at line 92 of file G4MiscLHEPBuilder.hh.
G4MiscLHEPBuilder::G4MiscLHEPBuilder | ( | ) |
Definition at line 47 of file G4MiscLHEPBuilder.cc.
00047 : 00048 theAntiProtonInelastic(0), theLEAntiProtonModel(0), 00049 theHEAntiProtonModel(0), 00050 theAntiNeutronInelastic(0), theLEAntiNeutronModel(0), 00051 theHEAntiNeutronModel(0), 00052 theLambdaInelastic(0), theLELambdaModel(0), theHELambdaModel(0), 00053 theAntiLambdaInelastic(0), theLEAntiLambdaModel(0), theHEAntiLambdaModel(0), 00054 theSigmaMinusInelastic(0), theLESigmaMinusModel(0), theHESigmaMinusModel(0), 00055 theAntiSigmaMinusInelastic(0), theLEAntiSigmaMinusModel(0), theHEAntiSigmaMinusModel(0), 00056 theSigmaPlusInelastic(0), theLESigmaPlusModel(0), theHESigmaPlusModel(0), 00057 theAntiSigmaPlusInelastic(0), theLEAntiSigmaPlusModel(0), theHEAntiSigmaPlusModel(0), 00058 theXiZeroInelastic(0), theLEXiZeroModel(0), theHEXiZeroModel(0), 00059 theAntiXiZeroInelastic(0), theLEAntiXiZeroModel(0), theHEAntiXiZeroModel(0), 00060 theXiMinusInelastic(0), theLEXiMinusModel(0), theHEXiMinusModel(0), 00061 theAntiXiMinusInelastic(0), theLEAntiXiMinusModel(0), theHEAntiXiMinusModel(0), 00062 theOmegaMinusInelastic(0), theLEOmegaMinusModel(0), theHEOmegaMinusModel(0), 00063 theAntiOmegaMinusInelastic(0), theLEAntiOmegaMinusModel(0), theHEAntiOmegaMinusModel(0), 00064 wasActivated(false) 00065 00066 {}
G4MiscLHEPBuilder::~G4MiscLHEPBuilder | ( | ) | [virtual] |
void G4MiscLHEPBuilder::Build | ( | ) |
Definition at line 73 of file G4MiscLHEPBuilder.cc.
References G4ProcessManager::AddDiscreteProcess(), G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4ParticleDefinition::GetProcessManager(), G4Lambda::Lambda(), G4OmegaMinus::OmegaMinus(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4XiMinus::XiMinus(), and G4XiZero::XiZero().
Referenced by HadronPhysicsQGSP_BERT_95::ConstructProcess(), HadronPhysicsQGSC_BERT::ConstructProcess(), HadronPhysicsLHEP_EMV::ConstructProcess(), and HadronPhysicsLHEP::ConstructProcess().
00074 { 00075 G4ProcessManager * aProcMan = 0; 00076 wasActivated = true; 00077 00078 // anti-Proton 00079 theAntiProtonInelastic = new G4AntiProtonInelasticProcess(); 00080 aProcMan = G4AntiProton::AntiProton()->GetProcessManager(); 00081 theLEAntiProtonModel = new G4LEAntiProtonInelastic(); 00082 theHEAntiProtonModel = new G4HEAntiProtonInelastic(); 00083 theHEAntiProtonModel->SetMaxEnergy(100*TeV); 00084 theAntiProtonInelastic->RegisterMe(theLEAntiProtonModel); 00085 theAntiProtonInelastic->RegisterMe(theHEAntiProtonModel); 00086 aProcMan->AddDiscreteProcess(theAntiProtonInelastic); 00087 00088 // AntiNeutron 00089 theAntiNeutronInelastic = new G4AntiNeutronInelasticProcess(); 00090 aProcMan = G4AntiNeutron::AntiNeutron()->GetProcessManager(); 00091 theLEAntiNeutronModel = new G4LEAntiNeutronInelastic(); 00092 theHEAntiNeutronModel = new G4HEAntiNeutronInelastic(); 00093 theHEAntiNeutronModel->SetMaxEnergy(100*TeV); 00094 theAntiNeutronInelastic->RegisterMe(theLEAntiNeutronModel); 00095 theAntiNeutronInelastic->RegisterMe(theHEAntiNeutronModel); 00096 aProcMan->AddDiscreteProcess(theAntiNeutronInelastic); 00097 00098 // Lambda 00099 theLambdaInelastic = new G4LambdaInelasticProcess(); 00100 aProcMan = G4Lambda::Lambda()->GetProcessManager(); 00101 theLELambdaModel = new G4LELambdaInelastic(); 00102 theHELambdaModel = new G4HELambdaInelastic(); 00103 theHELambdaModel->SetMaxEnergy(100*TeV); 00104 theLambdaInelastic->RegisterMe(theLELambdaModel); 00105 theLambdaInelastic->RegisterMe(theHELambdaModel); 00106 aProcMan->AddDiscreteProcess(theLambdaInelastic); 00107 00108 // AntiLambda 00109 theAntiLambdaInelastic = new G4AntiLambdaInelasticProcess(); 00110 aProcMan = G4AntiLambda::AntiLambda()->GetProcessManager(); 00111 theLEAntiLambdaModel = new G4LEAntiLambdaInelastic(); 00112 theHEAntiLambdaModel = new G4HEAntiLambdaInelastic(); 00113 theHEAntiLambdaModel->SetMaxEnergy(100*TeV); 00114 theAntiLambdaInelastic->RegisterMe(theLEAntiLambdaModel); 00115 theAntiLambdaInelastic->RegisterMe(theHEAntiLambdaModel); 00116 aProcMan->AddDiscreteProcess(theAntiLambdaInelastic); 00117 00118 // SigmaMinus 00119 theSigmaMinusInelastic = new G4SigmaMinusInelasticProcess(); 00120 aProcMan = G4SigmaMinus::SigmaMinus()->GetProcessManager(); 00121 theLESigmaMinusModel = new G4LESigmaMinusInelastic(); 00122 theHESigmaMinusModel = new G4HESigmaMinusInelastic(); 00123 theHESigmaMinusModel->SetMaxEnergy(100*TeV); 00124 theSigmaMinusInelastic->RegisterMe(theLESigmaMinusModel); 00125 theSigmaMinusInelastic->RegisterMe(theHESigmaMinusModel); 00126 aProcMan->AddDiscreteProcess(theSigmaMinusInelastic); 00127 00128 // anti-SigmaMinus 00129 theAntiSigmaMinusInelastic = new G4AntiSigmaMinusInelasticProcess(); 00130 aProcMan = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager(); 00131 theLEAntiSigmaMinusModel = new G4LEAntiSigmaMinusInelastic(); 00132 theHEAntiSigmaMinusModel = new G4HEAntiSigmaMinusInelastic(); 00133 theHEAntiSigmaMinusModel->SetMaxEnergy(100*TeV); 00134 theAntiSigmaMinusInelastic->RegisterMe(theLEAntiSigmaMinusModel); 00135 theAntiSigmaMinusInelastic->RegisterMe(theHEAntiSigmaMinusModel); 00136 aProcMan->AddDiscreteProcess(theAntiSigmaMinusInelastic); 00137 00138 // SigmaPlus 00139 theSigmaPlusInelastic = new G4SigmaPlusInelasticProcess(); 00140 aProcMan = G4SigmaPlus::SigmaPlus()->GetProcessManager(); 00141 theLESigmaPlusModel = new G4LESigmaPlusInelastic(); 00142 theHESigmaPlusModel = new G4HESigmaPlusInelastic(); 00143 theHESigmaPlusModel->SetMaxEnergy(100*TeV); 00144 theSigmaPlusInelastic->RegisterMe(theLESigmaPlusModel); 00145 theSigmaPlusInelastic->RegisterMe(theHESigmaPlusModel); 00146 aProcMan->AddDiscreteProcess(theSigmaPlusInelastic); 00147 00148 // anti-SigmaPlus 00149 theAntiSigmaPlusInelastic = new G4AntiSigmaPlusInelasticProcess(); 00150 aProcMan = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager(); 00151 theLEAntiSigmaPlusModel = new G4LEAntiSigmaPlusInelastic(); 00152 theHEAntiSigmaPlusModel = new G4HEAntiSigmaPlusInelastic(); 00153 theHEAntiSigmaPlusModel->SetMaxEnergy(100*TeV); 00154 theAntiSigmaPlusInelastic->RegisterMe(theLEAntiSigmaPlusModel); 00155 theAntiSigmaPlusInelastic->RegisterMe(theHEAntiSigmaPlusModel); 00156 aProcMan->AddDiscreteProcess(theAntiSigmaPlusInelastic); 00157 00158 // XiMinus 00159 theXiMinusInelastic = new G4XiMinusInelasticProcess(); 00160 aProcMan = G4XiMinus::XiMinus()->GetProcessManager(); 00161 theLEXiMinusModel = new G4LEXiMinusInelastic(); 00162 theHEXiMinusModel = new G4HEXiMinusInelastic(); 00163 theHEXiMinusModel->SetMaxEnergy(100*TeV); 00164 theXiMinusInelastic->RegisterMe(theLEXiMinusModel); 00165 theXiMinusInelastic->RegisterMe(theHEXiMinusModel); 00166 aProcMan->AddDiscreteProcess(theXiMinusInelastic); 00167 00168 // anti-XiMinus 00169 theAntiXiMinusInelastic = new G4AntiXiMinusInelasticProcess(); 00170 aProcMan = G4AntiXiMinus::AntiXiMinus()->GetProcessManager(); 00171 theLEAntiXiMinusModel = new G4LEAntiXiMinusInelastic(); 00172 theHEAntiXiMinusModel = new G4HEAntiXiMinusInelastic(); 00173 theHEAntiXiMinusModel->SetMaxEnergy(100*TeV); 00174 theAntiXiMinusInelastic->RegisterMe(theLEAntiXiMinusModel); 00175 theAntiXiMinusInelastic->RegisterMe(theHEAntiXiMinusModel); 00176 aProcMan->AddDiscreteProcess(theAntiXiMinusInelastic); 00177 00178 // XiZero 00179 theXiZeroInelastic = new G4XiZeroInelasticProcess(); 00180 aProcMan = G4XiZero::XiZero()->GetProcessManager(); 00181 theLEXiZeroModel = new G4LEXiZeroInelastic(); 00182 theHEXiZeroModel = new G4HEXiZeroInelastic(); 00183 theHEXiZeroModel->SetMaxEnergy(100*TeV); 00184 theXiZeroInelastic->RegisterMe(theLEXiZeroModel); 00185 theXiZeroInelastic->RegisterMe(theHEXiZeroModel); 00186 aProcMan->AddDiscreteProcess(theXiZeroInelastic); 00187 00188 // anti-XiZero 00189 theAntiXiZeroInelastic = new G4AntiXiZeroInelasticProcess(); 00190 aProcMan = G4AntiXiZero::AntiXiZero()->GetProcessManager(); 00191 theLEAntiXiZeroModel = new G4LEAntiXiZeroInelastic(); 00192 theHEAntiXiZeroModel = new G4HEAntiXiZeroInelastic(); 00193 theHEAntiXiZeroModel->SetMaxEnergy(100*TeV); 00194 theAntiXiZeroInelastic->RegisterMe(theLEAntiXiZeroModel); 00195 theAntiXiZeroInelastic->RegisterMe(theHEAntiXiZeroModel); 00196 aProcMan->AddDiscreteProcess(theAntiXiZeroInelastic); 00197 00198 // OmegaMinus 00199 theOmegaMinusInelastic = new G4OmegaMinusInelasticProcess(); 00200 aProcMan = G4OmegaMinus::OmegaMinus()->GetProcessManager(); 00201 theLEOmegaMinusModel = new G4LEOmegaMinusInelastic(); 00202 theHEOmegaMinusModel = new G4HEOmegaMinusInelastic(); 00203 theHEOmegaMinusModel->SetMaxEnergy(100*TeV); 00204 theOmegaMinusInelastic->RegisterMe(theLEOmegaMinusModel); 00205 theOmegaMinusInelastic->RegisterMe(theHEOmegaMinusModel); 00206 aProcMan->AddDiscreteProcess(theOmegaMinusInelastic); 00207 00208 // anti-OmegaMinus 00209 theAntiOmegaMinusInelastic = new G4AntiOmegaMinusInelasticProcess(); 00210 aProcMan = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager(); 00211 theLEAntiOmegaMinusModel = new G4LEAntiOmegaMinusInelastic(); 00212 theHEAntiOmegaMinusModel = new G4HEAntiOmegaMinusInelastic(); 00213 theHEAntiOmegaMinusModel->SetMaxEnergy(100*TeV); 00214 theAntiOmegaMinusInelastic->RegisterMe(theLEAntiOmegaMinusModel); 00215 theAntiOmegaMinusInelastic->RegisterMe(theHEAntiOmegaMinusModel); 00216 aProcMan->AddDiscreteProcess(theAntiOmegaMinusInelastic); 00217 }