CMS 3D CMS Logo

G4RPGPiKBuilder.cc

Go to the documentation of this file.
00001 #include "SimG4Core/PhysicsLists/interface/G4RPGPiKBuilder.hh"
00002 
00003 #include "globals.hh"
00004 #include "G4ios.hh"
00005 #include "G4ParticleDefinition.hh"
00006 #include "G4ParticleTable.hh"
00007 #include "G4MesonConstructor.hh"
00008 #include "G4BaryonConstructor.hh"
00009 #include "G4ProcessManager.hh"
00010 
00011 G4RPGPiKBuilder::G4RPGPiKBuilder(): theRPGPiPlusModel(0),theRPGPiMinusModel(0),
00012                                     theRPGKPlusModel(0), theRPGKMinusModel(0),
00013                                     theRPGKLongModel(0), theRPGKShortModel(0) {
00014   theMin = 0;
00015   theMax = 55*GeV;
00016 }
00017 
00018 G4RPGPiKBuilder::~G4RPGPiKBuilder() {
00019   if (theRPGPiPlusModel)  delete theRPGPiPlusModel;
00020   if (theRPGPiMinusModel) delete theRPGPiMinusModel;
00021   if (theRPGKPlusModel)   delete theRPGKPlusModel;
00022   if (theRPGKMinusModel)  delete theRPGKMinusModel;
00023   if (theRPGKLongModel)   delete theRPGKShortModel;
00024   if (theRPGKShortModel)  delete theRPGKLongModel;
00025 }
00026 
00027 void G4RPGPiKBuilder::Build(G4HadronElasticProcess *) {
00028   G4cout << "Info - G4RPGPiKBuilder::Build() not adding elastic" << G4endl;
00029 }
00030 
00031 void G4RPGPiKBuilder::Build(G4PionPlusInelasticProcess * aP) {
00032   theRPGPiPlusModel = new G4RPGPiPlusInelastic();
00033   theRPGPiPlusModel->SetMinEnergy(theMin);
00034   theRPGPiPlusModel->SetMaxEnergy(theMax);
00035   aP->RegisterMe(theRPGPiPlusModel);
00036 }
00037 
00038 void G4RPGPiKBuilder::Build(G4PionMinusInelasticProcess * aP) {
00039   theRPGPiMinusModel = new G4RPGPiMinusInelastic();
00040   theRPGPiMinusModel->SetMinEnergy(theMin);
00041   theRPGPiMinusModel->SetMaxEnergy(theMax);
00042   aP->RegisterMe(theRPGPiMinusModel);
00043 }
00044 
00045 void G4RPGPiKBuilder::Build(G4KaonPlusInelasticProcess * aP) {
00046   theRPGKPlusModel = new G4RPGKPlusInelastic();
00047   theRPGKPlusModel->SetMinEnergy(theMin);
00048   theRPGKPlusModel->SetMaxEnergy(theMax);
00049   aP->RegisterMe(theRPGKPlusModel);
00050 }
00051 
00052 void G4RPGPiKBuilder::Build(G4KaonMinusInelasticProcess * aP) {
00053   theRPGKMinusModel = new G4RPGKMinusInelastic();
00054   theRPGKMinusModel->SetMaxEnergy(theMax);
00055   theRPGKMinusModel->SetMinEnergy(theMin);
00056   aP->RegisterMe(theRPGKMinusModel);
00057 }
00058 
00059 void G4RPGPiKBuilder::Build(G4KaonZeroLInelasticProcess * aP) {
00060   theRPGKLongModel = new G4RPGKLongInelastic();
00061   theRPGKLongModel->SetMaxEnergy(theMax);
00062   theRPGKLongModel->SetMinEnergy(theMin);
00063   aP->RegisterMe(theRPGKLongModel);
00064 }
00065  
00066 void G4RPGPiKBuilder::Build(G4KaonZeroSInelasticProcess * aP) {
00067   theRPGKShortModel = new G4RPGKShortInelastic();
00068   theRPGKShortModel->SetMaxEnergy(theMax);
00069   theRPGKShortModel->SetMinEnergy(theMin);
00070   aP->RegisterMe(theRPGKShortModel);
00071 }

Generated on Tue Jun 9 17:47:07 2009 for CMSSW by  doxygen 1.5.4