Ignore:
Timestamp:
Apr 6, 2009, 12:21:12 PM (15 years ago)
Author:
garnier
Message:

update processes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc

    r819 r961  
    2424// ********************************************************************
    2525//
    26 // $Id: G4EmProcessOptions.cc,v 1.22 2007/11/07 18:38:49 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4EmProcessOptions.cc,v 1.26 2009/02/18 14:43:27 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    5959#include "G4VMultipleScattering.hh"
    6060#include "G4Region.hh"
     61#include "G4RegionStore.hh"
    6162
    6263//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     
    392393//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    393394
    394 void G4EmProcessOptions::ActivateDeexcitation(G4bool val, const G4Region* r)
    395 {
    396   const std::vector<G4VEnergyLossProcess*>& v =
    397         theManager->GetEnergyLossProcessVector();
    398   std::vector<G4VEnergyLossProcess*>::const_iterator itr;
    399   for(itr = v.begin(); itr != v.end(); itr++) {
    400     G4VEnergyLossProcess* p = *itr;
    401     if(p) p->ActivateDeexcitation(val,r);
    402   }
    403   const std::vector<G4VEmProcess*>& w =
    404         theManager->GetEmProcessVector();
    405   std::vector<G4VEmProcess*>::const_iterator itp;
    406   for(itp = w.begin(); itp != w.end(); itp++) {
    407     G4VEmProcess* q = *itp;
    408     if(q) q->ActivateDeexcitation(val,r);
     395void G4EmProcessOptions::ActivateDeexcitation(const G4String& pname,
     396                                              G4bool val,
     397                                              const G4String& reg)
     398{
     399  G4RegionStore* regionStore = G4RegionStore::GetInstance();
     400  const G4Region* r = 0;
     401  if(reg == "" || reg == "World") {
     402    r = regionStore->GetRegion("DefaultRegionForTheWorld", false);
     403  } else {
     404    r = regionStore->GetRegion(reg, false);
     405  }
     406  if(!r) {
     407    G4cout << "G4EmProcessOptions::ActivateDeexcitation ERROR: G4Region <"
     408           << reg << "> not found, the command ignored" << G4endl;
     409    return;
     410  }
     411
     412  const std::vector<G4VEnergyLossProcess*>& v =
     413        theManager->GetEnergyLossProcessVector();
     414  std::vector<G4VEnergyLossProcess*>::const_iterator itr;
     415  for(itr = v.begin(); itr != v.end(); itr++) {
     416    G4VEnergyLossProcess* p = *itr;
     417    if(p) {
     418      if(pname == p->GetProcessName()) p->ActivateDeexcitation(val,r);
     419    }
     420  }
     421  const std::vector<G4VEmProcess*>& w =
     422        theManager->GetEmProcessVector();
     423  std::vector<G4VEmProcess*>::const_iterator itp;
     424  for(itp = w.begin(); itp != w.end(); itp++) {
     425    G4VEmProcess* q = *itp;
     426    if(q) {
     427      if(pname == q->GetProcessName()) q->ActivateDeexcitation(val,r);
     428    }
    409429  }
    410430}
     
    477497//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    478498
     499void G4EmProcessOptions::SetPolarAngleLimit(G4double val)
     500{
     501  const std::vector<G4VMultipleScattering*>& u =
     502        theManager->GetMultipleScatteringVector();
     503  std::vector<G4VMultipleScattering*>::const_iterator itm;
     504  for(itm = u.begin(); itm != u.end(); itm++) {
     505    if(*itm) (*itm)->SetPolarAngleLimit(val);
     506  }
     507  const std::vector<G4VEmProcess*>& w =
     508        theManager->GetEmProcessVector();
     509  std::vector<G4VEmProcess*>::const_iterator itp;
     510  for(itp = w.begin(); itp != w.end(); itp++) {
     511    G4VEmProcess* q = *itp;
     512    if(q) q->SetPolarAngleLimit(val);
     513  }
     514}
     515
     516//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     517
    479518void G4EmProcessOptions::SetLPMFlag(G4bool val)
    480519{
     
    484523//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
    485524
     525void G4EmProcessOptions::SetSplineFlag(G4bool val)
     526{
     527  theManager->SetSplineFlag(val);
     528}
     529
     530//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     531
    486532void G4EmProcessOptions::SetLinearLossLimit(G4double val)
    487533{
Note: See TracChangeset for help on using the changeset viewer.