Print

Print


Commit in slic on MAIN
aclocal.m4+49-11.28 -> 1.29
configure+841.98 -> 1.99
include/PhysicsListFactory.hh+42-51.13 -> 1.14
src/PhysicsListFactory.cc+154-1141.22 -> 1.23
+329-120
4 modified files
JM: add the 6 new physics lists from Geant4 9.1 to slic

slic
aclocal.m4 1.28 -> 1.29
diff -u -r1.28 -r1.29
--- aclocal.m4	17 Dec 2007 21:11:58 -0000	1.28
+++ aclocal.m4	17 Dec 2007 23:45:47 -0000	1.29
@@ -1,4 +1,4 @@
-dnl $Header: /cvs/lcd/slic/aclocal.m4,v 1.28 2007/12/17 21:11:58 jeremy Exp $
+dnl $Header: /cvs/lcd/slic/aclocal.m4,v 1.29 2007/12/17 23:45:47 jeremy Exp $
 
 dnl /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
 dnl Autoconf macros for SLIC and its dependencies friends.
@@ -265,6 +265,54 @@
   AC_MSG_RESULT(no)
 fi
 
+AC_MSG_CHECKING(for FTFP_BERT)
+if test -e $g4physdir/FTFP_BERT.hh; then
+  AC_DEFINE(HAVE_FTFP_BERT)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for QGSC_BERT)
+if test -e $g4physdir/QGSC_BERT.hh; then
+  AC_DEFINE(HAVE_QGSC_BERT)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for QGSP_DIF)
+if test -e $g4physdir/QGSP_DIF.hh; then
+  AC_DEFINE(HAVE_QGSP_DIF)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for QGSP_BERT_DIF)
+if test -e $g4physdir/QGSP_BERT_DIF.hh; then
+  AC_DEFINE(HAVE_QGSP_BERT_DIF)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for QGS_BIC)
+if test -e $g4physdir/QGS_BIC.hh; then
+  AC_DEFINE(HAVE_QGS_BIC)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for FTF_BIC)
+if test -e $g4physdir/FTF_BIC.hh; then
+  AC_DEFINE(HAVE_FTF_BIC)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
 ])
 
 dnl Macro to extract the Geant4 version from G4Version.hh or G4RunManagerKernel.hh, if the former file does not exist.

slic
configure 1.98 -> 1.99
diff -u -r1.98 -r1.99
--- configure	17 Dec 2007 21:16:56 -0000	1.98
+++ configure	17 Dec 2007 23:45:47 -0000	1.99
@@ -3514,6 +3514,90 @@
 echo "${ECHO_T}no" >&6
 fi
 
+echo "$as_me:$LINENO: checking for FTFP_BERT" >&5
+echo $ECHO_N "checking for FTFP_BERT... $ECHO_C" >&6
+if test -e $g4physdir/FTFP_BERT.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_FTFP_BERT 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking for QGSC_BERT" >&5
+echo $ECHO_N "checking for QGSC_BERT... $ECHO_C" >&6
+if test -e $g4physdir/QGSC_BERT.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_QGSC_BERT 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking for QGSP_DIF" >&5
+echo $ECHO_N "checking for QGSP_DIF... $ECHO_C" >&6
+if test -e $g4physdir/QGSP_DIF.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_QGSP_DIF 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking for QGSP_BERT_DIF" >&5
+echo $ECHO_N "checking for QGSP_BERT_DIF... $ECHO_C" >&6
+if test -e $g4physdir/QGSP_BERT_DIF.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_QGSP_BERT_DIF 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking for QGS_BIC" >&5
+echo $ECHO_N "checking for QGS_BIC... $ECHO_C" >&6
+if test -e $g4physdir/QGS_BIC.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_QGS_BIC 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+echo "$as_me:$LINENO: checking for FTF_BIC" >&5
+echo $ECHO_N "checking for FTF_BIC... $ECHO_C" >&6
+if test -e $g4physdir/FTF_BIC.hh; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_FTF_BIC 1
+_ACEOF
+
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
 
 
 # CLHEP

slic/include
PhysicsListFactory.hh 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- PhysicsListFactory.hh	27 Apr 2007 01:54:32 -0000	1.13
+++ PhysicsListFactory.hh	17 Dec 2007 23:45:47 -0000	1.14
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/include/PhysicsListFactory.hh,v 1.13 2007/04/27 01:54:32 jeremy Exp $
+// $Header: /cvs/lcd/slic/include/PhysicsListFactory.hh,v 1.14 2007/12/17 23:45:47 jeremy Exp $
 #ifndef SLIC_PHYSICSLISTFACTORY_HH
 #define SLIC_PHYSICSLISTFACTORY_HH 1
 
@@ -19,10 +19,47 @@
 
   /**
    * @class PhysicsListFactory
-   * Factory to instantiates a Geant4 physics list based on the name.
-   * Available physics lists are defined in the directory 
-   * $G4INSTALL/source/physics_lists/lists/include 
-   * in the v 8.2 Geant4 release.
+   *
+   * Factory to instantiate a Geant4 physics list from the name.
+   *
+   * Each available list has a header in 
+   *
+   * $G4INSTALL/source/physics_lists/lists/include
+   *
+   * The following lists are defined by the Geant4 9.1 release ...
+   *
+   * FTF_BIC
+   * FTFC
+   * FTFP
+   * FTFP_BERT
+   * FTFP_EMV
+   * LBE
+   * LHEP
+   * LHEP_BERT
+   * LHEP_BERT_HP
+   * LHEP_EMV
+   * LHEP_PRECO_HP
+   * QBBC
+   * QGS_BIC
+   * QGSC
+   * QGSC_BERT
+   * QGSC_EFLOW
+   * QGSC_EMV
+   * QGSP
+   * QGSP_BERT
+   * QGSP_BERT_DIF
+   * QGSP_BERT_EMV
+   * QGSP_BERT_HP
+   * QGSP_BERT_NQE
+   * QGSP_BERT_TRV
+   * QGSP_BIC
+   * QGSP_BIC_HP
+   * QGSP_DIF
+   * QGSP_EMV
+   * QGSP_EMV_NQE
+   * QGSP_EMX
+   * QGSP_NQE
+   * QGSP_QEL
    */
   class PhysicsListFactory : public Singleton<PhysicsListFactory>, public Module
   {

slic/src
PhysicsListFactory.cc 1.22 -> 1.23
diff -u -r1.22 -r1.23
--- PhysicsListFactory.cc	22 Oct 2007 13:26:07 -0000	1.22
+++ PhysicsListFactory.cc	17 Dec 2007 23:45:47 -0000	1.23
@@ -1,13 +1,16 @@
-// $Header: /cvs/lcd/slic/src/PhysicsListFactory.cc,v 1.22 2007/10/22 13:26:07 wenzel Exp $
+// $Header: /cvs/lcd/slic/src/PhysicsListFactory.cc,v 1.23 2007/12/17 23:45:47 jeremy Exp $
 #include "PhysicsListFactory.hh"
 
 // geant4 physics lists
 #ifdef HAVE_G4PHYSICSLISTS
+
 #include "FTFC.hh"
 #include "FTFP.hh"
+
 #ifdef HAVE_FTFP_EMV
 #include "FTFP_EMV.hh"
 #endif
+
 #include "LBE.hh"
 #include "LHEP.hh"
 #include "LHEP_BERT.hh"
@@ -20,29 +23,63 @@
 #include "QGSC_EMV.hh"
 #include "QGSP.hh"
 #include "QGSP_BERT.hh"
+
 #ifdef HAVE_QGSP_BERT_EMV
 #include "QGSP_BERT_EMV.hh"
 #endif
+
 #include "QGSP_BERT_HP.hh"
+
 #ifdef HAVE_QGSP_BERT_NQE
 #include "QGSP_BERT_NQE.hh"
 #endif
+
 #ifdef HAVE_QGSP_BERT_TRV
 #include "QGSP_BERT_TRV.hh"
 #endif
+
 #include "QGSP_BIC.hh"
 #include "QGSP_BIC_HP.hh"
 #include "QGSP_EMV.hh"
+
 #ifdef HAVE_QGSP_EMV_NQE
 #include "QGSP_EMV_NQE.hh"
 #endif
+
 #include "QGSP_EMX.hh"
+
 #ifdef HAVE_QGSP_NQE
 #include "QGSP_NQE.hh"
 #endif
+
 #include "QGSP_QEL.hh"
+
+#ifdef HAVE_FTFP_BERT
+#include "FTFP_BERT.hh"
+#endif 
+
+#ifdef HAVE_QGSC_BERT
+#include "QGSC_BERT.hh"
 #endif
 
+#ifdef HAVE_QGSP_DIF
+#include "QGSP_DIF.hh"
+#endif
+
+#ifdef HAVE_QGSP_BERT_DIF
+#include "QGSP_BERT_DIF.hh"
+#endif
+
+#ifdef HAVE_QGS_BIC
+#include "QGS_BIC.hh"
+#endif
+
+#ifdef HAVE_FTF_BIC
+#include "FTF_BIC.hh"
+#endif
+
+#endif // HAVE_G4PHYSICSLISTS
+
 // lcphys 
 #ifdef SLIC_USE_LCPHYS
 #include "LCPhysicsList.hh"
@@ -56,35 +93,6 @@
 /**
  * A macro to add a TPhysicsListBuilder for a single physics list.
  *
- * Physics lists in Geant4 9.0.p01.
- *
- * FTFC
- * FTFP
- * FTFP_EMV
- * LBE
- * LHEP
- * LHEP_BERT
- * LHEP_BERT_HP
- * LHEP_EMV
- * LHEP_PRECO_HP
- * QBBC
- * QGSC
- * QGSC_EFLOW
- * QGSC_EMV
- * QGSP
- * QGSP_BERT
- * QGSP_BERT_EMV
- * QGSP_BERT_HP
- * QGSP_BERT_NQE
- * QGSP_BERT_TRV
- * QGSP_BIC
- * QGSP_BIC_HP
- * QGSP_EMV
- * QGSP_EMV_NQE
- * QGSP_EMX
- * QGSP_NQE
- * QGSP_QEL
- *
  * @param list         The class name of the list.
  * @param name         The name of the list which will be used to instantiate it.
  * @param description  A short description of the list.
@@ -97,119 +105,151 @@
 namespace slic
 {
 
-  PhysicsListFactory::PhysicsListFactory()
-    : Module("PhysicsListFactory")
-  {
-    initializeBuilders();
-  }
+    PhysicsListFactory::PhysicsListFactory()
+        : Module("PhysicsListFactory")
+    {
+        initializeBuilders();
+    }
   
-  PhysicsListFactory::~PhysicsListFactory()
-  {
-    for ( BuilderMap::const_iterator it = m_builders.begin();
-	  it != m_builders.end();
-	  it++ ) {
-      delete it->second;
-    }      
-    m_builders.clear();
-  }
+    PhysicsListFactory::~PhysicsListFactory()
+    {
+        for ( BuilderMap::const_iterator it = m_builders.begin();
+              it != m_builders.end();
+              it++ ) {
+            delete it->second;
+        }      
+        m_builders.clear();
+    }
   
-  G4VUserPhysicsList* PhysicsListFactory::create( const std::string& name )
-  {    
-    log().okay("Creating physics list <" + name + ">.");
+    G4VUserPhysicsList* PhysicsListFactory::create( const std::string& name )
+    {    
+        log().okay("Creating physics list <" + name + ">.");
 
-    G4VUserPhysicsList* physicslist = 0;
+        G4VUserPhysicsList* physicslist = 0;
     
-    VPhysicsListBuilder* builder = m_builders[ name ];
+        VPhysicsListBuilder* builder = m_builders[ name ];
 
-    if ( builder != 0 ) {
-      physicslist = builder->create();
-    }     
-    else {
-      G4Exception("ERROR: No builder found for physics list <" + name + "> .");
-    }
+        if ( builder != 0 ) {
+            physicslist = builder->create();
+        }     
+        else {
+            G4Exception("ERROR: No builder found for physics list <" + name + "> .");
+        }
 
-    return physicslist;
-  }
+        return physicslist;
+    }
   
-  void PhysicsListFactory::printAvailableLists()
-  {
-    log() << LOG::okay << LOG::done;
-    log() << LOG::okay << "----GEANT4 PHYSICS LISTS----" << LOG::endl << LOG::done;
-    log() << LOG::okay << "NAME           DESCRIPTION" << LOG::done;
-    log() << LOG::okay << "----------------------------------------------------------------------" << LOG::done;
-    for ( BuilderMap::const_iterator it = m_builders.begin();
-	  it != m_builders.end();
-	  it++ ) {
-      log().width(15);
-      log() << LOG::okay << left << it->first;
-      log() << LOG::okay << it->second->getDescription() << LOG::done;
+    void PhysicsListFactory::printAvailableLists()
+    {
+        log() << LOG::okay << LOG::done;
+        log() << LOG::okay << "----GEANT4 PHYSICS LISTS----" << LOG::endl << LOG::done;
+        log() << LOG::okay << "NAME           DESCRIPTION" << LOG::done;
+        log() << LOG::okay << "----------------------------------------------------------------------" << LOG::done;
+        for ( BuilderMap::const_iterator it = m_builders.begin();
+              it != m_builders.end();
+              it++ ) {
+            log().width(15);
+            log() << LOG::okay << left << it->first;
+            log() << LOG::okay << it->second->getDescription() << LOG::done;
+        }
     }
-  }
 
-  void PhysicsListFactory::initializeBuilders()
-  {
+    void PhysicsListFactory::initializeBuilders()
+    {
 
 #ifdef SLIC_USE_LCPHYS
-    BUILDER_LCPHYS(LCPhysicsList, "LCPhys", "ILC Physics List by Dennis Wright.")
+        BUILDER_LCPHYS(LCPhysicsList, "LCPhys", "ILC Physics List by Dennis Wright.")
 #endif
 
 #ifdef HAVE_G4PHYSICSLISTS
-    BUILDER(FTFC,          "Fritiof with CHIPS")
-    BUILDER(FTFP,          "Fritiof with precompound")
+
+            BUILDER(FTFC,          "Fritiof with CHIPS")
+            BUILDER(FTFP,          "Fritiof with precompound")
+
 #ifdef HAVE_FTFP_EMV
-    BUILDER(FTFP_EMV,      "FTFP with v 7.1 EM processes")
+            BUILDER(FTFP_EMV,      "FTFP with v 7.1 EM processes")
 #endif
-    BUILDER(LBE,           "Low backgrounds experiment with low energy EM")
-    BUILDER(LHEP,          "Low and High Energy Parameterised")
-    BUILDER(LHEP_BERT,     "LHEP with Bertini Cascade")
-    BUILDER(LHEP_BERT_HP,  "LHEP with Bertini Cascade and high precision neutrons")
-    BUILDER(LHEP_EMV,      "LHEP with v 7.1 EM processes")
-    BUILDER(LHEP_PRECO_HP, "LHEP_PRECO with HP")
-    BUILDER(QBBC,          "Uses best cross section data within QGSP")
-    BUILDER(QGSC,          "Quark Gluon-String (QGS) with CHIPS")
-    BUILDER(QGSC_EFLOW,    "QGSC using energy flow methods from CHIPS model")
-    BUILDER(QGSC_EMV,      "QGSC with v 7.1 EM processes")
-    BUILDER(QGSP,          "QGS with precompound")
-    BUILDER(QGSP_BERT,     "QGSP with Bertini Cascade")
+
+            BUILDER(LBE,           "Low backgrounds experiment with low energy EM")
+            BUILDER(LHEP,          "Low and High Energy Parameterised")
+            BUILDER(LHEP_BERT,     "LHEP with Bertini Cascade")
+            BUILDER(LHEP_BERT_HP,  "LHEP with Bertini Cascade and high precision neutrons")
+            BUILDER(LHEP_EMV,      "LHEP with v 7.1 EM processes")
+            BUILDER(LHEP_PRECO_HP, "LHEP_PRECO with HP")
+            BUILDER(QBBC,          "Uses best cross section data within QGSP")
+            BUILDER(QGSC,          "Quark Gluon-String (QGS) with CHIPS")
+            BUILDER(QGSC_EFLOW,    "QGSC using energy flow methods from CHIPS model")
+            BUILDER(QGSC_EMV,      "QGSC with v 7.1 EM processes")
+            BUILDER(QGSP,          "QGS with precompound")
+            BUILDER(QGSP_BERT,     "QGSP with Bertini Cascade")
+
 #ifdef HAVE_QGSP_BERT_EMV
-    BUILDER(QGSP_BERT_EMV, "QGSP_BERT with v 7.1 EM processes")
+            BUILDER(QGSP_BERT_EMV, "QGSP_BERT with v 7.1 EM processes")
 #endif
-    BUILDER(QGSP_BERT_HP,  "QGSP with Bertini Cascade and high precision neutrons")
+
+            BUILDER(QGSP_BERT_HP,  "QGSP with Bertini Cascade and high precision neutrons")
+
 #ifdef HAVE_QGSP_BERT_NQE
-    BUILDER(QGSP_BERT_NQE, "QGSP_BERT with quasi-elastic processes removed")
+            BUILDER(QGSP_BERT_NQE, "QGSP_BERT with quasi-elastic processes removed")
 #endif
+
 #ifdef HAVE_QGSP_BERT_TRV
-    BUILDER(QGSP_BERT_TRV, "QGSP_BERT with transition to Bertini at 5 GeV")
+            BUILDER(QGSP_BERT_TRV, "QGSP_BERT with transition to Bertini at 5 GeV")
 #endif
-    BUILDER(QGSP_BIC,      "QGSP with Binary Cascade")
-    BUILDER(QGSP_BIC_HP,   "QGSP with Binary Cascade")
-    BUILDER(QGSP_EMV,      "LHEP with v 7.1 EM processes")
+
+            BUILDER(QGSP_BIC,      "QGSP with Binary Cascade")
+            BUILDER(QGSP_BIC_HP,   "QGSP with Binary Cascade")
+            BUILDER(QGSP_EMV,      "LHEP with v 7.1 EM processes")
+
 #ifdef HAVE_QGSP_EMV_NQE
-    BUILDER(QGSP_EMV_NQE,  "QGSP with v 7.1 EM processes and quasi-elastic processes removed")
+            BUILDER(QGSP_EMV_NQE,  "QGSP with v 7.1 EM processes and quasi-elastic processes removed")
 #endif
-    BUILDER(QGSP_EMX,      "QGSP with v 7.2 EM processes")
+
+            BUILDER(QGSP_EMX,      "QGSP with v 7.2 EM processes")
+
 #ifdef HAVE_QGSP_NQE
-    BUILDER(QGSP_NQE,      "QGSP with quasi-elastic processes removed")
+            BUILDER(QGSP_NQE,      "QGSP with quasi-elastic processes removed")
+#endif
+
+            BUILDER(QGSP_QEL,      "QGSP with elastic cross sections and model from CHIPS")
+
+#ifdef HAVE_FTFP_BERT
+            BUILDER(FTFP_BERT,     "FTFP with Bertini Cascade")
 #endif
-    BUILDER(QGSP_QEL,      "QGSP with elastic cross sections and model from CHIPS")
+
+#ifdef HAVE_QGSC_BERT
+            BUILDER(QGSC_BERT,     "QGSC with Bertini Cascade")
 #endif
-  }
 
-  void PhysicsListFactory::addBuilder( VPhysicsListBuilder* builder)
-  {
-    const G4String& name = builder->getName();
+#ifdef HAVE_QGSP_DIF
+            BUILDER(QGSP_DIF,      "QGSP with CHIPS diffractive scattering")
+#endif
+
+#ifdef HAVE_QGSP_BERT_DIF
+            BUILDER(QGSP_BERT_DIF, "QGSP_BERT with CHIPS diffractive scattering")
+#endif
 
-    if ( m_builders.find( name ) != m_builders.end() ) {
-      log() << LOG::warning << "Ignoring duplicate physics list builder for <" << name << "> ." << LOG::done;
-    }
-    else {
-      m_builders[ name ] = builder;
-    }
-  }
-}
 
-/*
+#ifdef HAVE_QGS_BIC
+            BUILDER(QGS_BIC,       "QGS with new Bertini developments")
+#endif
+
+#ifdef HAVE_FTF_BIC
+            BUILDER(FTF_BIC,       "FTF with new Bertini developments")
+#endif
 
-physics lists in Geant4 9.0
+#endif
+            }
 
-*/
+    void PhysicsListFactory::addBuilder( VPhysicsListBuilder* builder)
+    {
+        const G4String& name = builder->getName();
+
+        if ( m_builders.find( name ) != m_builders.end() ) {
+            log() << LOG::warning << "Ignoring duplicate physics list builder for <" << name << "> ." << LOG::done;
+        }
+        else {
+            m_builders[ name ] = builder;
+        }
+    }
+}
CVSspam 0.2.8