Skip to content

Commit

Permalink
added extra PL
Browse files Browse the repository at this point in the history
  • Loading branch information
civanch committed Dec 6, 2018
1 parent 839f5df commit c3d0ce6
Show file tree
Hide file tree
Showing 7 changed files with 272 additions and 0 deletions.
74 changes: 74 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_BERT_HP_EMM.cc
@@ -0,0 +1,74 @@
#include "FTFPCMS_BERT_HP_EMM.h"
#include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysicsLPM.h"
#include "SimG4Core/PhysicsLists/interface/CMSThermalNeutrons.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "G4DecayPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4HadronicProcessStore.hh"

#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsFTFP_BERT_HP.hh"

FTFPCMS_BERT_HP_EMM::FTFPCMS_BERT_HP_EMM(const edm::ParameterSet & p)
: PhysicsList(p) {

G4DataQuestionaire it(photon);

int ver = p.getUntrackedParameter<int>("Verbosity",0);
bool emPhys = p.getUntrackedParameter<bool>("EMPhysics",true);
bool hadPhys = p.getUntrackedParameter<bool>("HadPhysics",true);
bool tracking= p.getParameter<bool>("TrackingCut");
bool thermal = p.getUntrackedParameter<bool>("ThermalNeutrons");
double timeLimit = p.getParameter<double>("MaxTrackTime")*CLHEP::ns;
edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
<< "FTFP_BERT_HP_EMM \n Flags for EM Physics "
<< emPhys << ", for Hadronic Physics "
<< hadPhys << " and tracking cut " << tracking
<< " t(ns)= " << timeLimit/CLHEP::ns
<< " ThermalNeutrons: " << thermal;

if (emPhys) {
// EM Physics
RegisterPhysics( new CMSEmStandardPhysicsLPM(ver));

// Synchroton Radiation & GN Physics
G4EmExtraPhysics* gn = new G4EmExtraPhysics(ver);
RegisterPhysics(gn);
}

// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );

if (hadPhys) {
G4HadronicProcessStore::Instance()->SetVerbose(ver);

// Hadron Elastic scattering
RegisterPhysics( new G4HadronElasticPhysicsHP(ver));

// Hadron Physics
RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(ver));

// Stopping Physics
RegisterPhysics( new G4StoppingPhysics(ver));

// Ion Physics
RegisterPhysics( new G4IonPhysics(ver));

// Neutron tracking cut
if (tracking) {
G4NeutronTrackingCut* ncut= new G4NeutronTrackingCut(ver);
ncut->SetTimeLimit(timeLimit);
RegisterPhysics(ncut);
}
if(thermal) {
RegisterPhysics(new CMSThermalNeutrons(ver));
}
}
}

16 changes: 16 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_BERT_HP_EMM.h
@@ -0,0 +1,16 @@
#ifndef SimG4Core_PhysicsLists_FTFPCMS_BERT_HP_EMM_H
#define SimG4Core_PhysicsLists_FTFPCMS_BERT_HP_EMM_H

#include "SimG4Core/Physics/interface/PhysicsList.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

class FTFPCMS_BERT_HP_EMM: public PhysicsList {

public:
FTFPCMS_BERT_HP_EMM(const edm::ParameterSet & p);
};

#endif



67 changes: 67 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_INCLXX_EMM.cc
@@ -0,0 +1,67 @@
#include "FTFPCMS_INCLXX_EMM.h"
#include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysicsLPM.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "G4DecayPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonINCLXXPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4HadronicProcessStore.hh"

#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsINCLXX.hh"

FTFPCMS_INCLXX_EMM::FTFPCMS_INCLXX_EMM(const edm::ParameterSet & p)
: PhysicsList(p) {

G4DataQuestionaire it(photon);

int ver = p.getUntrackedParameter<int>("Verbosity",0);
bool emPhys = p.getUntrackedParameter<bool>("EMPhysics",true);
bool hadPhys = p.getUntrackedParameter<bool>("HadPhysics",true);
bool tracking= p.getParameter<bool>("TrackingCut");
double timeLimit = p.getParameter<double>("MaxTrackTime")*CLHEP::ns;
edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
<< "FTFP_INCLXX_EMM \n Flags for EM Physics "
<< emPhys << ", for Hadronic Physics "
<< hadPhys << " and tracking cut " << tracking
<< " t(ns)= " << timeLimit/CLHEP::ns;

if (emPhys) {
// EM Physics
RegisterPhysics( new CMSEmStandardPhysicsLPM(ver));

// Synchroton Radiation & GN Physics
G4EmExtraPhysics* gn = new G4EmExtraPhysics(ver);
RegisterPhysics(gn);
}

// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );

if (hadPhys) {
G4HadronicProcessStore::Instance()->SetVerbose(ver);

// Hadron Elastic scattering
RegisterPhysics( new G4HadronElasticPhysics(ver));

// Hadron Physics
RegisterPhysics( new G4HadronPhysicsINCLXX(ver,true,false,true));

// Stopping Physics
RegisterPhysics( new G4StoppingPhysics(ver));

// Ion Physics
RegisterPhysics( new G4IonINCLXXPhysics(ver));

// Neutron tracking cut
if (tracking) {
G4NeutronTrackingCut* ncut= new G4NeutronTrackingCut(ver);
ncut->SetTimeLimit(timeLimit);
RegisterPhysics(ncut);
}
}
}

16 changes: 16 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_INCLXX_EMM.h
@@ -0,0 +1,16 @@
#ifndef SimG4Core_PhysicsLists_FTFPCMS_INCLXX_EMM_H
#define SimG4Core_PhysicsLists_FTFPCMS_INCLXX_EMM_H

#include "SimG4Core/Physics/interface/PhysicsList.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

class FTFPCMS_INCLXX_EMM: public PhysicsList {

public:
FTFPCMS_INCLXX_EMM(const edm::ParameterSet & p);
};

#endif



74 changes: 74 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_INCLXX_HP_EMM.cc
@@ -0,0 +1,74 @@
#include "FTFPCMS_INCLXX_HP_EMM.h"
#include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysicsLPM.h"
#include "SimG4Core/PhysicsLists/interface/CMSThermalNeutrons.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "G4DecayPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonINCLXXPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4HadronicProcessStore.hh"

#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsINCLXX.hh"

FTFPCMS_INCLXX_HP_EMM::FTFPCMS_INCLXX_HP_EMM(const edm::ParameterSet & p)
: PhysicsList(p) {

G4DataQuestionaire it(photon);

int ver = p.getUntrackedParameter<int>("Verbosity",0);
bool emPhys = p.getUntrackedParameter<bool>("EMPhysics",true);
bool hadPhys = p.getUntrackedParameter<bool>("HadPhysics",true);
bool tracking= p.getParameter<bool>("TrackingCut");
bool thermal = p.getUntrackedParameter<bool>("ThermalNeutrons");
double timeLimit = p.getParameter<double>("MaxTrackTime")*CLHEP::ns;
edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
<< "FTFP_INCLXX_HP_EMM \n Flags for EM Physics "
<< emPhys << ", for Hadronic Physics "
<< hadPhys << " and tracking cut " << tracking
<< " t(ns)= " << timeLimit/CLHEP::ns
<< " ThermalNeutrons: " << thermal;

if (emPhys) {
// EM Physics
RegisterPhysics( new CMSEmStandardPhysicsLPM(ver));

// Synchroton Radiation & GN Physics
G4EmExtraPhysics* gn = new G4EmExtraPhysics(ver);
RegisterPhysics(gn);
}

// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );

if (hadPhys) {
G4HadronicProcessStore::Instance()->SetVerbose(ver);

// Hadron Elastic scattering
RegisterPhysics( new G4HadronElasticPhysicsHP(ver));

// Hadron Physics
RegisterPhysics( new G4HadronPhysicsINCLXX(ver,true,true,true));

// Stopping Physics
RegisterPhysics( new G4StoppingPhysics(ver));

// Ion Physics
RegisterPhysics( new G4IonINCLXXPhysics(ver));

// Neutron tracking cut
if (tracking) {
G4NeutronTrackingCut* ncut= new G4NeutronTrackingCut(ver);
ncut->SetTimeLimit(timeLimit);
RegisterPhysics(ncut);
}
if(thermal) {
RegisterPhysics(new CMSThermalNeutrons(ver));
}
}
}

16 changes: 16 additions & 0 deletions SimG4Core/PhysicsLists/plugins/FTFPCMS_INCLXX_HP_EMM.h
@@ -0,0 +1,16 @@
#ifndef SimG4Core_PhysicsLists_FTFPCMS_INCLXX_HP_EMM_H
#define SimG4Core_PhysicsLists_FTFPCMS_INCLXX_HP_EMM_H

#include "SimG4Core/Physics/interface/PhysicsList.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

class FTFPCMS_INCLXX_HP_EMM: public PhysicsList {

public:
FTFPCMS_INCLXX_HP_EMM(const edm::ParameterSet & p);
};

#endif



9 changes: 9 additions & 0 deletions SimG4Core/PhysicsLists/plugins/module.cc
Expand Up @@ -7,11 +7,14 @@
#include "FTFPCMS_BERT_EML.h"
#include "FTFPCMS_BERT_EMM.h"
#include "FTFPCMS_BERT_EMM_TRK.h"
#include "FTFPCMS_BERT_HP_EMM.h"
#include "FTFPCMS_BERT_HP_EML.h"
#include "FTFPCMS_BERT_XS_EML.h"
#include "FTFPCMS_BERT_EMV.h"
#include "FTFPCMS_BERT_EMY.h"
#include "FTFPCMS_BERT_EMZ.h"
#include "FTFPCMS_INCLXX_EMM.h"
#include "FTFPCMS_INCLXX_HP_EMM.h"
#include "QBBCCMS.h"
#include "QGSPCMS_BERT.h"
#include "QGSPCMS_BERT_EML.h"
Expand All @@ -36,6 +39,8 @@ typedef FTFPCMS_BERT_EMM FTFP_BERT_EMM;
DEFINE_PHYSICSLIST(FTFP_BERT_EMM);
typedef FTFPCMS_BERT_EMM_TRK FTFP_BERT_EMM_TRK;
DEFINE_PHYSICSLIST(FTFP_BERT_EMM_TRK);
typedef FTFPCMS_BERT_HP_EMM FTFP_BERT_HP_EMM;
DEFINE_PHYSICSLIST(FTFP_BERT_HP_EMM);
typedef FTFPCMS_BERT_HP_EML FTFP_BERT_HP_EML;
DEFINE_PHYSICSLIST(FTFP_BERT_HP_EML);
typedef FTFPCMS_BERT_XS_EML FTFP_BERT_XS_EML;
Expand All @@ -46,6 +51,10 @@ typedef FTFPCMS_BERT_EMY FTFP_BERT_EMY;
DEFINE_PHYSICSLIST(FTFP_BERT_EMY);
typedef FTFPCMS_BERT_EMZ FTFP_BERT_EMZ;
DEFINE_PHYSICSLIST(FTFP_BERT_EMZ);
typedef FTFPCMS_INCLXX_EMM FTFP_INCLXX_EMM;
DEFINE_PHYSICSLIST(FTFP_INCLXX_EMM);
typedef FTFPCMS_INCLXX_HP_EMM FTFP_INCLXX_HP_EMM;
DEFINE_PHYSICSLIST(FTFP_INCLXX_HP_EMM);
typedef QBBCCMS QBBC;
DEFINE_PHYSICSLIST(QBBC);
typedef QGSPCMS_BERT QGSP_BERT;
Expand Down

0 comments on commit c3d0ce6

Please sign in to comment.