CMS 3D CMS Logo

Public Member Functions

CustomPhysics Class Reference

#include <CustomPhysics.h>

Inheritance diagram for CustomPhysics:
PhysicsList

List of all members.

Public Member Functions

 CustomPhysics (G4LogicalVolumeToDDLogicalPartMap &map, const HepPDT::ParticleDataTable *table_, sim::FieldBuilder *fieldBuilder_, const edm::ParameterSet &p)

Detailed Description

Definition at line 7 of file CustomPhysics.h.


Constructor & Destructor Documentation

CustomPhysics::CustomPhysics ( G4LogicalVolumeToDDLogicalPartMap map,
const HepPDT::ParticleDataTable table_,
sim::FieldBuilder fieldBuilder_,
const edm::ParameterSet p 
)

Definition at line 16 of file CustomPhysics.cc.

References edm::ParameterSet::getUntrackedParameter(), and cmsDownloadME::ver.

                                                        : PhysicsList(map, table_, fieldBuilder_, 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);
  edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
                              << "QGSP_EMV 3.3 with Flags for EM Physics "
                              << emPhys << " and for Hadronic Physics "
                              << hadPhys << "\n";

  // EM Physics
  RegisterPhysics( new CMSEmStandardPhysics71("standard EM v71",ver));

  // Synchroton Radiation & GN Physics
  RegisterPhysics(new G4EmExtraPhysics("extra EM"));

  // Decays
  RegisterPhysics(new G4DecayPhysics("decay"));

  // Hadron Elastic scattering
  RegisterPhysics(new G4HadronElasticPhysics("elastic",ver,false)); 

  // Hadron Physics
  G4bool quasiElastic=true;
  RegisterPhysics(new HadronPhysicsQGSP("hadron",quasiElastic));
  //RegisterPhysics(new HadronPhysicsQGSP("hadron"));

  // Stopping Physics
  RegisterPhysics(new G4QStoppingPhysics("stopping"));

  // Ion Physics
  RegisterPhysics(new G4IonPhysics("ion"));

  // Neutron tracking cut
  RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));

  // Custom Physics
  RegisterPhysics(new CustomPhysicsList("custom",p));    
}