/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/G4Svc/G4Svc-00-01-52/Physics_src/ExN04MuonPhysics.cxx

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * DISCLAIMER                                                       *
00004 // *                                                                  *
00005 // * The following disclaimer summarizes all the specific disclaimers *
00006 // * of contributors to this software. The specific disclaimers,which *
00007 // * govern, are listed with their locations in:                      *
00008 // *   http://cern.ch/geant4/license                                  *
00009 // *                                                                  *
00010 // * Neither the authors of this software system, nor their employing *
00011 // * institutes,nor the agencies providing financial support for this *
00012 // * work  make  any representation or  warranty, express or implied, *
00013 // * regarding  this  software system or assume any liability for its *
00014 // * use.                                                             *
00015 // *                                                                  *
00016 // * This  code  implementation is the  intellectual property  of the *
00017 // * GEANT4 collaboration.                                            *
00018 // * By copying,  distributing  or modifying the Program (or any work *
00019 // * based  on  the Program)  you indicate  your  acceptance of  this *
00020 // * statement, and all its terms.                                    *
00021 // ********************************************************************
00022 //
00023 //
00024 // $Id: ExN04MuonPhysics.cxx,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $
00025 // GEANT4 tag $Name: G4Svc-00-01-52 $
00026 //
00027 // 
00028 
00029 #include <cmath>
00030 
00031 #include "Physics/ExN04MuonPhysics.hh"
00032 
00033 #include "globals.hh"
00034 #include "G4ios.hh"
00035 
00036 
00037 ExN04MuonPhysics::ExN04MuonPhysics(const G4String& name)
00038                    :  G4VPhysicsConstructor(name)
00039 {
00040 }
00041 
00042 ExN04MuonPhysics::~ExN04MuonPhysics()
00043 {
00044 }
00045 
00046 #include "G4ParticleDefinition.hh"
00047 #include "G4ParticleTable.hh"
00048 
00049 #include "G4MuonPlus.hh"
00050 #include "G4MuonMinus.hh"
00051 #include "G4TauMinus.hh"
00052 #include "G4TauPlus.hh"
00053 #include "G4NeutrinoTau.hh"
00054 #include "G4AntiNeutrinoTau.hh"
00055 #include "G4NeutrinoMu.hh"
00056 #include "G4AntiNeutrinoMu.hh"
00057 
00058 void ExN04MuonPhysics::ConstructParticle()
00059 {
00060   // Mu
00061   G4MuonPlus::MuonPlusDefinition();
00062   G4MuonMinus::MuonMinusDefinition();
00063   G4NeutrinoMu::NeutrinoMuDefinition();
00064   G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
00065 
00066   // Tau
00067   G4TauMinus::TauMinusDefinition();
00068   G4TauPlus::TauPlusDefinition();
00069   G4NeutrinoTau::NeutrinoTauDefinition();
00070   G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
00071 
00072 }
00073 
00074 
00075 #include "G4ProcessManager.hh"
00076 
00077 void ExN04MuonPhysics::ConstructProcess()
00078 {
00079   G4ProcessManager * pManager = 0;
00080 
00081   // Muon Plus Physics
00082   pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
00083    // add processes
00084   pManager->AddProcess(&fMuPlusIonisation, ordInActive,2, 2);
00085 
00086   pManager->AddDiscreteProcess(&fMuPlusBremsstrahlung);
00087 
00088   pManager->AddDiscreteProcess(&fMuPlusPairProduction);
00089 
00090   pManager->AddProcess(&fMuPlusMultipleScattering);
00091   pManager->SetProcessOrdering(&fMuPlusMultipleScattering, idxAlongStep,  1);
00092   pManager->SetProcessOrdering(&fMuPlusMultipleScattering, idxPostStep,  1);
00093 
00094   // Muon Minus Physics
00095   pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
00096    // add processes
00097   pManager->AddProcess(&fMuMinusIonisation, ordInActive,2, 2);
00098 
00099   pManager->AddDiscreteProcess(&fMuMinusBremsstrahlung);
00100 
00101   pManager->AddDiscreteProcess(&fMuMinusPairProduction);
00102 
00103   pManager->AddProcess(&fMuMinusMultipleScattering);
00104   pManager->SetProcessOrdering(&fMuMinusMultipleScattering, idxAlongStep,  1);
00105   pManager->SetProcessOrdering(&fMuMinusMultipleScattering, idxPostStep,  1);
00106   pManager->AddRestProcess(&fMuMinusCaptureAtRest);
00107 
00108   // Tau Plus Physics
00109   pManager = G4TauPlus::TauPlus()->GetProcessManager();
00110    // add processes
00111   pManager->AddProcess(&fTauPlusIonisation, ordInActive,2, 2);
00112 
00113   pManager->AddProcess(&fTauPlusMultipleScattering);
00114   pManager->SetProcessOrdering(&fTauPlusMultipleScattering, idxAlongStep,  1);
00115   pManager->SetProcessOrdering(&fTauPlusMultipleScattering, idxPostStep,  1);
00116 
00117   // Tau Minus Physics
00118   pManager = G4TauMinus::TauMinus()->GetProcessManager();
00119    // add processes
00120   pManager->AddProcess(&fTauMinusIonisation, ordInActive,2, 2);
00121 
00122   pManager->AddProcess(&fTauMinusMultipleScattering);
00123   pManager->SetProcessOrdering(&fTauMinusMultipleScattering, idxAlongStep,  1);
00124   pManager->SetProcessOrdering(&fTauMinusMultipleScattering, idxPostStep,  1);
00125 
00126 }
00127 
00128 
00129 

Generated on Tue Nov 29 23:14:33 2016 for BOSS_7.0.2 by  doxygen 1.4.7