CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Attributes

ParametrisedPhysics Class Reference

#include <ParametrisedPhysics.h>

List of all members.

Public Member Functions

 ParametrisedPhysics (std::string name, const edm::ParameterSet &p)
virtual ~ParametrisedPhysics ()

Protected Member Functions

virtual void ConstructParticle ()
virtual void ConstructProcess ()

Private Attributes

GflashEMShowerModeltheEMShowerModel
GflashHadronShowerModeltheHadronShowerModel
GflashEMShowerModeltheHadShowerModel
edm::ParameterSet theParSet

Detailed Description

Definition at line 13 of file ParametrisedPhysics.h.


Constructor & Destructor Documentation

ParametrisedPhysics::ParametrisedPhysics ( std::string  name,
const edm::ParameterSet p 
)

Definition at line 15 of file ParametrisedPhysics.cc.

References theEMShowerModel, theHadronShowerModel, and theHadShowerModel.

                                                                                  :
  G4VPhysicsConstructor(name), theParSet(p) 
{
  theEMShowerModel = 0;
  theHadShowerModel = 0;
  theHadronShowerModel = 0;
}
ParametrisedPhysics::~ParametrisedPhysics ( ) [virtual]

Member Function Documentation

void ParametrisedPhysics::ConstructParticle ( ) [protected, virtual]

Definition at line 29 of file ParametrisedPhysics.cc.

{
    G4LeptonConstructor pLeptonConstructor;
    pLeptonConstructor.ConstructParticle();

    G4MesonConstructor pMesonConstructor;
    pMesonConstructor.ConstructParticle();

    G4BaryonConstructor pBaryonConstructor;
    pBaryonConstructor.ConstructParticle();

    G4ShortLivedConstructor pShortLivedConstructor;
    pShortLivedConstructor.ConstructParticle();  
    
    G4IonConstructor pConstructor;
    pConstructor.ConstructParticle();  
}
void ParametrisedPhysics::ConstructProcess ( ) [protected, virtual]

Definition at line 47 of file ParametrisedPhysics.cc.

References gather_cfg::cout, edm::ParameterSet::getParameter(), ecalTB2006H4_GenSimDigiReco_cfg::GflashEMShowerModel, theEMShowerModel, theHadShowerModel, and theParSet.

                                           {

  bool gem  = theParSet.getParameter<bool>("GflashEcal");
  bool ghad = theParSet.getParameter<bool>("GflashHcal");
  std::cout << "GFlash Construct: " << gem << "  " << ghad << std::endl;

  if(gem || ghad) {
    G4FastSimulationManagerProcess * theFastSimulationManagerProcess = 
      new G4FastSimulationManagerProcess();
    theParticleIterator->reset();
    while ((*theParticleIterator)()) {
      G4ParticleDefinition * particle = theParticleIterator->value();
      G4ProcessManager * pmanager = particle->GetProcessManager();
      G4String pname = particle->GetParticleName();
      if(pname == "e-" || pname == "e+") {
        pmanager->AddProcess(theFastSimulationManagerProcess, -1, -1, 1);
      }
    }

    if(gem) {
      G4Region* aRegion = G4RegionStore::GetInstance()->GetRegion("EcalRegion");

      if(!aRegion){
        std::cout << "EcalRegion is not defined !!!" << std::endl;
        std::cout << "This means that GFlash will not be turned on." << std::endl;
        
      } else {

        //Electromagnetic Shower Model for ECAL
        theEMShowerModel = 
          new GflashEMShowerModel("GflashEMShowerModel",aRegion,theParSet);
        std::cout << "GFlash is defined for EcalRegion" << std::endl;
      }    
    }
    if(ghad) {
      G4Region* aRegion = G4RegionStore::GetInstance()->GetRegion("HcalRegion");
      if(!aRegion) {
        std::cout << "HcalRegion is not defined !!!" << std::endl;
        std::cout << "This means that GFlash will not be turned on." << std::endl;
        
      } else {

        //Electromagnetic Shower Model for HCAL
        theHadShowerModel = 
          new GflashEMShowerModel("GflashHadShowerModel",aRegion,theParSet);
        std::cout << "GFlash is defined for HcalRegion" << std::endl;    
      }
    }
  }
}

Member Data Documentation

Definition at line 27 of file ParametrisedPhysics.h.

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

Definition at line 24 of file ParametrisedPhysics.h.

Referenced by ConstructProcess().