projects/slic/trunk/include
--- projects/slic/trunk/include/LCSUSYPhysics.hh 2014-02-26 22:30:18 UTC (rev 3029)
+++ projects/slic/trunk/include/LCSUSYPhysics.hh 2014-02-27 01:10:09 UTC (rev 3030)
@@ -1,53 +0,0 @@
-#ifndef SLIC_LCSUSYPHYSICS_H
-#define SLIC_LCSUSYPHYSICS_H 1
-
-// slic
-#include "Module.hh"
-#include "LCSUSYDecay.hh"
-
-// geant4
-#include "G4VPhysicsConstructor.hh"
-#include "G4ProcessManager.hh"
-#include "G4hIonisation.hh"
-#include "G4hMultipleScattering.hh"
-
-namespace slic {
-
-/**
- * @class LCSUSYPhysics
- * @brief Physics processors and particles for SUSY.
- */
-class LCSUSYPhysics: public G4VPhysicsConstructor {
-
-public:
-
- /**
- * Class constructor.
- * @param[in] name The name of the G4VPhysicsConstructor.
- */
- LCSUSYPhysics(const G4String& name = "LCSUSYPhysics");
-
- /**
- * Class destructor.
- */
- virtual ~LCSUSYPhysics();
-
- /**
- * This is called from Construct() to create and register the SUSY particles.
- */
- void ConstructParticle();
-
- /**
- * This is called from Construct() to create and register the physics processes.
- */
- void ConstructProcess();
-
-private:
-
- G4hMultipleScattering m_scatter;
- LCSUSYDecay m_decay;
- G4hIonisation m_ionise;
-};
-}
-
-#endif
projects/slic/trunk/src
--- projects/slic/trunk/src/LCSUSYPhysics.cc 2014-02-26 22:30:18 UTC (rev 3029)
+++ projects/slic/trunk/src/LCSUSYPhysics.cc 2014-02-27 01:10:09 UTC (rev 3030)
@@ -1,75 +0,0 @@
-#include "LCSUSYPhysics.hh"
-
-// slic
-#include "HepPDTManager.hh"
-#include "LCSUSYDecay.hh"
-
-// geant4
-#include "G4ProcessManager.hh"
-#include "G4ParticleDefinition.hh"
-#include "G4UnknownDecay.hh"
-#include "G4SystemOfUnits.hh"
-
-namespace slic {
-LCSUSYPhysics::LCSUSYPhysics(const G4String& name) :
- G4VPhysicsConstructor(name) {
- ;
-}
-
-LCSUSYPhysics::~LCSUSYPhysics() {
- ;
-}
-
-void LCSUSYPhysics::ConstructParticle() {
- // Get the particle data table to be imported.
- HepPDT::ParticleDataTable* pdtbl = HepPDTManager::instance()->getParticleDataTable();
-
- // Loop over all particles.
- for (HepPDT::ParticleDataTable::const_iterator it = pdtbl->begin(); it != pdtbl->end(); it++) {
- HepPDT::ParticleID id = it->first;
- HepPDT::ParticleData pdata = it->second;
-
- // Only adding SUSY particles.
- if (id.isSUSY()) {
- // Create a G4ParticleDefinition for this SUSY particle.
- new G4ParticleDefinition(pdata.PDTname(), // name
- pdata.mass().value() * GeV, // mass
- pdata.totalWidth().value(), // width
- pdata.charge(), // charge
- 0, // 2*spin
- 0, // parity
- 0, // C-conjugation
- 0, // 2*isospin
- 0, // 2*isospin3
- 0, // G-parity
- "susy", // type
- 0, // lepton number
- 0, // baryon number
- pdata.pid(), // PDG encoding
- false, // stable
- 1e30, // lifetime (DEBUG)
- 0, // decay table
- false // short lived
- );
- }
- }
-}
-
-void LCSUSYPhysics::ConstructProcess() {
- theParticleIterator->reset();
- while ((*theParticleIterator)()) {
- G4ParticleDefinition* pdef = theParticleIterator->value();
- G4ProcessManager* pmgr = pdef->GetProcessManager();
- if (m_decay.IsApplicable(*pdef)) {
- if (pdef->GetPDGCharge() != 0) {
- pmgr->AddProcess(&m_scatter, -1, 1, 1); // multiple scattering
- pmgr->AddProcess(&m_ionise, -1, 2, 2); // ionisation
- pmgr->AddProcess(&m_decay, -1, -1, 3); // decay
- } else {
- pmgr->AddProcess(&m_scatter, -1, 1, 1); // multiple scattering
- pmgr->AddProcess(&m_decay, -1, -1, 2); // decay
- }
- }
- }
-}
-}