CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
GFlash Class Reference

#include <GFlash.h>

Inheritance diagram for GFlash:
PhysicsList

Public Member Functions

 GFlash (G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
 
 ~GFlash () override
 
- Public Member Functions inherited from PhysicsList
 PhysicsList (G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
 
void SetCuts () override
 
 ~PhysicsList () override
 

Private Attributes

GflashHistogramtheHisto
 
edm::ParameterSet thePar
 

Detailed Description

Definition at line 11 of file GFlash.h.

Constructor & Destructor Documentation

GFlash::GFlash ( G4LogicalVolumeToDDLogicalPartMap map,
const HepPDT::ParticleDataTable table_,
sim::ChordFinderSetter chordFinderSetter_,
const edm::ParameterSet p 
)

Definition at line 20 of file GFlash.cc.

References GflashHistogram::bookHistogram(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GflashHistogram::instance(), muons2muons_cfi::photon, GflashHistogram::setStoreFlag(), AlCaHLTBitMon_QueryRunRegistry::string, theHisto, and thePar.

23  : PhysicsList(map, table_, chordFinderSetter_, p),
24  thePar(p.getParameter<edm::ParameterSet>("GFlash")) {
25 
26  G4DataQuestionaire it(photon);
27 
28  int ver = p.getUntrackedParameter<int>("Verbosity",0);
29  bool emPhys = p.getUntrackedParameter<bool>("EMPhysics",true);
30  bool hadPhys = p.getUntrackedParameter<bool>("HadPhysics",true);
31  bool tracking= p.getParameter<bool>("TrackingCut");
32  std::string region = p.getParameter<std::string>("Region");
33 
34  edm::LogInfo("PhysicsList") << "You are using the obsolete simulation engine: "
35  << " GFlash with Flags for EM Physics "
36  << emPhys << ", for Hadronic Physics "
37  << hadPhys
38  << " and tracking cut " << tracking
39  << " with special region " << region;
40 
41  RegisterPhysics(new ParametrisedPhysics("parametrised",thePar));
42 
43  if (emPhys) {
44  // EM Physics
45  RegisterPhysics( new CMSEmStandardPhysics95msc93("EM standard msc93",ver,region));
46 
47  // Synchroton Radiation & GN Physics
48  RegisterPhysics( new G4EmExtraPhysics(ver));
49  }
50 
51  // Decays
52  RegisterPhysics( new G4DecayPhysics(ver) );
53 
54  if (hadPhys) {
55  // Hadron Elastic scattering
56  RegisterPhysics( new G4HadronElasticPhysics(ver));
57 
58  // Hadron Physics
59  RegisterPhysics( new G4HadronPhysicsQGSP_FTFP_BERT(ver));
60  // Stopping Physics
61  RegisterPhysics( new G4StoppingPhysics(ver));
62 
63  // Ion Physics
64  RegisterPhysics( new G4IonPhysics(ver));
65 
66  // Neutron tracking cut
67  if (tracking) {
68  RegisterPhysics( new G4NeutronTrackingCut(ver));
69  }
70  }
71 
72  // Monopoles
73  RegisterPhysics( new CMSMonopolePhysics(table_,chordFinderSetter_,p));
74 
75  // singleton histogram object
76  if(thePar.getParameter<bool>("GflashHistogram")) {
78  theHisto->setStoreFlag(true);
79  theHisto->bookHistogram(thePar.getParameter<std::string>("GflashHistogramName"));
80  }
81 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
static GflashHistogram * instance()
edm::ParameterSet thePar
Definition: GFlash.h:19
void bookHistogram(std::string histFileName="gflash_histogram.root")
PhysicsList(G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::ChordFinderSetter *chordFinderSetter_, const edm::ParameterSet &p)
Definition: PhysicsList.cc:3
Table table_
GflashHistogram * theHisto
Definition: GFlash.h:18
void setStoreFlag(bool flag)
GFlash::~GFlash ( )
override

Definition at line 83 of file GFlash.cc.

References DEFINE_PHYSICSLIST, edm::ParameterSet::getParameter(), theHisto, and thePar.

83  {
84 
85  if(thePar.getParameter<bool>("GflashHistogram")) {
86  if(theHisto) delete theHisto;
87  }
88 
89 }
T getParameter(std::string const &) const
edm::ParameterSet thePar
Definition: GFlash.h:19
GflashHistogram * theHisto
Definition: GFlash.h:18

Member Data Documentation

GflashHistogram* GFlash::theHisto
private

Definition at line 18 of file GFlash.h.

Referenced by GFlash(), and ~GFlash().

edm::ParameterSet GFlash::thePar
private

Definition at line 19 of file GFlash.h.

Referenced by GFlash(), and ~GFlash().