CMS 3D CMS Logo

GFlash Class Reference

#include <SimG4Core/GFlash/interface/GFlash.h>

Inheritance diagram for GFlash:

PhysicsList

List of all members.

Public Member Functions

 GFlash (G4LogicalVolumeToDDLogicalPartMap &map, const edm::ParameterSet &p)
virtual ~GFlash ()

Private Attributes

GflashHistogramtheHisto
edm::ParameterSet thePar


Detailed Description

Definition at line 11 of file GFlash.h.


Constructor & Destructor Documentation

GFlash::GFlash ( G4LogicalVolumeToDDLogicalPartMap map,
const edm::ParameterSet p 
)

Definition at line 18 of file GFlash.cc.

References GflashHistogram::bookHistogram(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GflashHistogram::instance(), it, GflashHistogram::setStoreFlag(), theHisto, thePar, and mergeAndRegister_online::ver.

00018                                                                                 :
00019   PhysicsList(map, p), thePar(p.getParameter<edm::ParameterSet>("GFlash")) {
00020 
00021   G4DataQuestionaire it(photon);
00022 
00023   int  ver     = p.getUntrackedParameter<int>("Verbosity",0);
00024   edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
00025                               << "QGSP_BERT + CMS GFLASH\n";
00026 
00027   RegisterPhysics(new ParametrisedPhysics("parametrised",thePar)); 
00028 
00029   // EM Physics
00030   RegisterPhysics( new CMSEmStandardPhysics("standard EM",ver));
00031 
00032   // Synchroton Radiation & GN Physics
00033   RegisterPhysics(new G4EmExtraPhysics("extra EM"));
00034 
00035   // Decays
00036   RegisterPhysics(new G4DecayPhysics("decay",ver));
00037 
00038   // Hadron Elastic scattering
00039   RegisterPhysics(new G4HadronElasticPhysics("elastic",ver,false)); 
00040 
00041   // Hadron Physics
00042   G4bool quasiElastic=true;
00043   std::string hadronPhysics = thePar.getParameter<std::string>("GflashHadronPhysics");
00044   if(hadronPhysics=="QGSP_BERT") {
00045     RegisterPhysics(new HadronPhysicsQGSP_BERT_WP("hadron",quasiElastic));
00046   }
00047   else if (hadronPhysics=="QGSP") {
00048     RegisterPhysics(new HadronPhysicsQGSP_WP("hadron",quasiElastic));
00049   }
00050   else {
00051     edm::LogInfo("PhysicsList") << hadronPhysics << " is not available for GflashHadronPhysics!"
00052                                 << "... Using QGSP_BERT\n";
00053     RegisterPhysics(new HadronPhysicsQGSP_BERT_WP("hadron",quasiElastic));
00054   }
00055 
00056   // Stopping Physics
00057   RegisterPhysics(new G4QStoppingPhysics("stopping"));
00058 
00059   // Ion Physics
00060   RegisterPhysics(new G4IonPhysics("ion"));
00061 
00062   // Neutron tracking cut
00063   RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));
00064 
00065 
00066   // singleton histogram object
00067   theHisto = GflashHistogram::instance();
00068   if(thePar.getParameter<bool>("GflashHistogram")) {
00069     theHisto->setStoreFlag(true);
00070     theHisto->bookHistogram();
00071   }
00072 
00073 }

GFlash::~GFlash (  )  [virtual]

Definition at line 75 of file GFlash.cc.

References theHisto.

00075                 {
00076   if(theHisto) delete theHisto;
00077 }


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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:21:23 2009 for CMSSW by  doxygen 1.5.4