Import Geant4 9.6.0 source tree
This commit is contained in:
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorConstruction.hh,v 1.4 2006-06-29 17:23:28 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/DetectorConstruction.hh
|
||||
/// \brief Definition of the DetectorConstruction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorMessenger.hh,v 1.7 2007-05-16 11:43:30 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/DetectorMessenger.hh
|
||||
/// \brief Definition of the DetectorMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: EventAction.hh,v 1.3 2006-06-29 17:23:34 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/EventAction.hh
|
||||
/// \brief Definition of the EventAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: EventActionMessenger.hh,v 1.3 2006-06-29 17:23:36 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/EventActionMessenger.hh
|
||||
/// \brief Definition of the EventActionMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5CrossSection.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSection class
|
||||
//
|
||||
#ifndef G4DPMJET2_5CrossSection_h
|
||||
#define G4DPMJET2_5CrossSection_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5CrossSection.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5CrossSectionParamSet.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSectionParamSet class
|
||||
//
|
||||
#ifndef G4DPMJET2_5CrossSectionParamSet_h
|
||||
#define G4DPMJET2_5CrossSectionParamSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5CrossSectionParamSet.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5Interface.hh
|
||||
/// \brief Definition of the G4DPMJET2_5Interface class
|
||||
//
|
||||
#ifndef G4DPMJET2_5Interface_hh
|
||||
#define G4DPMJET2_5Interface_hh 1
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5Interface.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
@@ -65,9 +68,9 @@ const int mxnfbk = 10;
|
||||
const int mxzfbk = 9;
|
||||
const int mxpsst = 300;
|
||||
const int mxpsfb = 41000;
|
||||
const int nxafbk = 17; // NXAFBK = MXAFBK + 1
|
||||
const int nxnfbk = 15; // NXNFBK = MXNFBK + MXFFBK / 3
|
||||
const int nxzfbk = 14; // NXZFBK = MXZFBK + MXFFBK / 3
|
||||
const int nxafbk = 17; // NXAFBK = MXAFBK + 1
|
||||
const int nxnfbk = 15; // NXNFBK = MXNFBK + MXFFBK / 3
|
||||
const int nxzfbk = 14; // NXZFBK = MXZFBK + MXFFBK / 3
|
||||
const int nmxhkk = 89998;
|
||||
const int neb = 50;
|
||||
//
|
||||
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5Model.hh
|
||||
/// \brief Definition of the G4DPMJET2_5Model class
|
||||
//
|
||||
#ifndef G4DPMJET2_5Model_h
|
||||
#define G4DPMJET2_5Model_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5Model.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4FullGlaubAADataSet.hh
|
||||
/// \brief Definition of the G4FullGlaubAADataSet class
|
||||
//
|
||||
#ifndef G4FullGlaubAADataSet_h
|
||||
#define G4FullGlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4FullGlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4GlaubAADataSet.hh
|
||||
/// \brief Definition of the G4GlaubAADataSet class
|
||||
//
|
||||
#ifndef G4GlaubAADataSet_h
|
||||
#define G4GlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4GlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4GlaubAADataSetHandler.hh
|
||||
/// \brief Definition of the G4GlaubAADataSetHandler class
|
||||
//
|
||||
#ifndef G4GlaubAADataSetHandler_h
|
||||
#define G4GlaubAADataSetHandler_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4GlaubAADataSetHandler.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4ParamType1GlaubAADataSet.hh
|
||||
/// \brief Definition of the G4ParamType1GlaubAADataSet class
|
||||
//
|
||||
#ifndef G4ParamType1GlaubAADataSet_h
|
||||
#define G4ParamType1GlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4ParamType1GlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4Type1GlauberParameterisation.hh
|
||||
/// \brief Definition of the G4Type1GlauberParameterisation class
|
||||
//
|
||||
#ifndef G4Type1GlauberParameterisation_h
|
||||
#define G4Type1GlauberParameterisation_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4Type1GlauberParameterisation.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -0,0 +1,683 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by Abdel-Waged *
|
||||
// * et al under contract (31-465) to the King Abdul-Aziz City for *
|
||||
// * Science and Technology (KACST), the National Centre of *
|
||||
// * Mathematics and Physics (NCMP), Saudi Arabia. *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4UrQMD1_3Interface.hh
|
||||
/// \brief Definition of the G4UrQMD1_3Interface class
|
||||
//
|
||||
#ifndef G4UrQMD1_3Interface_hh
|
||||
#define G4UrQMD1_3Interface_hh
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4UrQMD1_3Model.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 20/12/12
|
||||
// Author: Kh. Abdel-Waged and Nuha Felemban
|
||||
// Revised by: V.V. Uzhinskii
|
||||
// SPONSERED BY
|
||||
// Customer: KAUST/NCMP
|
||||
// Contract: 31-465
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#include "globals.hh"
|
||||
// coms
|
||||
//
|
||||
const G4int nmax = 500;
|
||||
const G4int nspl = 500;
|
||||
const G4int smax = 500;
|
||||
// comres
|
||||
const G4int minnuc=1;
|
||||
const G4int minmes=100;
|
||||
const G4int maxmes=132;
|
||||
const G4int numnuc=16;
|
||||
const G4int numdel=10;
|
||||
const G4int maxnuc=minnuc+numnuc-1;
|
||||
const G4int mindel=minnuc+maxnuc;
|
||||
const G4int maxdel=mindel+numdel-1;
|
||||
const G4int minres=minnuc+1;
|
||||
const G4int maxres=maxdel;
|
||||
const G4int numlam=13;
|
||||
const G4int numsig=9;
|
||||
const G4int numcas=6;
|
||||
const G4int numome=1;
|
||||
const G4int minlam=mindel+numdel;
|
||||
const G4int maxlam=minlam+numlam-1;
|
||||
const G4int minsig=minlam+numlam;
|
||||
const G4int maxsig=minsig+numsig-1;
|
||||
const G4int mincas=minsig+numsig;
|
||||
const G4int maxcas=mincas+numcas-1;
|
||||
const G4int minome=mincas+numcas;
|
||||
const G4int maxome=minome+numome-1;
|
||||
const G4int minbar=minnuc;
|
||||
const G4int maxbar=maxome;
|
||||
const G4int offmeson=minmes;
|
||||
const G4int maxmeson=maxmes;
|
||||
const G4int maxbra=11;
|
||||
const G4int maxbrm=25;
|
||||
const G4int maxbrs1=10;
|
||||
const G4int maxbrs2=3;
|
||||
const G4int nsigs = 10;
|
||||
const G4int itblsz= 100;
|
||||
const G4int maxreac = 13;
|
||||
const G4int maxpsig = 12;
|
||||
//
|
||||
//comwid
|
||||
//
|
||||
const G4int widnsp=120;
|
||||
const G4double mintab=0.10;
|
||||
const G4double maxtab1=5.0;
|
||||
const G4double maxtab2=50.0;
|
||||
const G4int tabver=9;
|
||||
//
|
||||
// options
|
||||
//
|
||||
const G4int numcto=400;
|
||||
const G4int numctp=400;
|
||||
const G4int maxstables=20;
|
||||
//
|
||||
// colltab (collision tables)
|
||||
//
|
||||
const G4int ncollmax = 100;
|
||||
//
|
||||
// inputs
|
||||
//
|
||||
const G4int aamax=300;
|
||||
//
|
||||
// newpart (new created particles)
|
||||
//
|
||||
const G4int mprt=200;
|
||||
const G4int oprt=2;
|
||||
//
|
||||
// boxinc
|
||||
//
|
||||
const G4int bptmax=20;
|
||||
//
|
||||
|
||||
// This next line is required as the default version of FORTRAN LOGICAL is
|
||||
// four bytes long, whereas storage for G4bool is one byte.
|
||||
//
|
||||
// comnorm
|
||||
const G4int n = 400;
|
||||
//
|
||||
// comstr
|
||||
const G4int njspin=8;
|
||||
//
|
||||
//iso
|
||||
const G4int jmax=7;
|
||||
|
||||
// This next line is required as the default version of FORTRAN LOGICAL is
|
||||
// four bytes long, whereas storage for G4bool is one byte.
|
||||
//
|
||||
|
||||
typedef G4int ftnlogical;
|
||||
|
||||
//
|
||||
// Standard common block for UrQMD
|
||||
// Common options for coms.f
|
||||
// 20 commons
|
||||
//
|
||||
//
|
||||
struct ccurqmd13urqmdparams
|
||||
{
|
||||
G4int u_at,u_zt,u_ap,u_zp;
|
||||
G4double u_elab,u_imp;
|
||||
G4int u_sptar,u_spproj;
|
||||
};
|
||||
|
||||
struct ccurqmd13sys
|
||||
{
|
||||
|
||||
G4int npart, nbar, nmes, ctag,nsteps,uid_cnt,
|
||||
ranseed,event,ap,at,zp,zt,eos,dectag,
|
||||
nhardres, nsoftres, ndecres, nelcoll, nblcoll;
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13rsys
|
||||
{
|
||||
G4double time,acttime,bdist,bimp,bmin,ebeam,ecm;
|
||||
};
|
||||
|
||||
struct ccurqmd13comseed
|
||||
{
|
||||
ftnlogical
|
||||
firstseed;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct ccurqmd13logic
|
||||
{
|
||||
ftnlogical
|
||||
lsct[nmax], logSky, logYuk, logCb, logPau;
|
||||
|
||||
};
|
||||
|
||||
struct ccurqmd13mdprop
|
||||
{
|
||||
G4double
|
||||
r0_t[nmax], rx_t[nmax], ry_t[nmax], rz_t[nmax];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13cuts
|
||||
{
|
||||
G4double
|
||||
cutmax, cutPau, cutCb, cutYuk, cutSky, cutdww;
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13spdata
|
||||
{
|
||||
G4double
|
||||
spx[nspl], spPauy[nspl], outPau[nspl],
|
||||
spCby[nspl], outCb[nspl],
|
||||
spYuky[nspl], outYuk[nspl],
|
||||
spSkyy[nspl], outSky[nspl],
|
||||
spdwwy[nspl], outdww[nspl];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13isys
|
||||
{
|
||||
|
||||
G4int spin[nmax],ncoll[nmax],charge[nmax],ityp[nmax],
|
||||
lstcoll[nmax],
|
||||
iso3[nmax],origin[nmax],strid[nmax],uid[nmax];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13coor
|
||||
{
|
||||
G4double
|
||||
r0[nmax], rx[nmax], ry[nmax], rz[nmax],
|
||||
p0[nmax], px[nmax], py[nmax], pz[nmax],
|
||||
fmass[nmax], rww[nmax],dectime[nmax];
|
||||
};
|
||||
|
||||
struct ccurqmd13frag
|
||||
{
|
||||
G4double
|
||||
tform[nmax], xtotfac[nmax];
|
||||
};
|
||||
|
||||
struct ccurqmd13aios
|
||||
{
|
||||
G4double
|
||||
airx[nmax], airy[nmax], airz[nmax],
|
||||
aipx[nmax], aipy[nmax], aipz[nmax],
|
||||
aorx [4][nmax], aory[4][nmax], aorz[4][nmax],
|
||||
aopx[4][nmax], aopy[4][nmax], aopz[4][nmax];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13pots
|
||||
{
|
||||
|
||||
G4double
|
||||
Cb0, Yuk0, Pau0, Sky20, Sky30, gamSky,
|
||||
gamYuk, drPau, dpPau, gw, sgw, delr, fdel,
|
||||
dt,da, db,dtimestep;
|
||||
};
|
||||
|
||||
struct ccurqmd13scoor
|
||||
{
|
||||
|
||||
G4double
|
||||
r0s[smax], rxs[smax], rys[smax], rzs[smax],
|
||||
p0s[smax], pxs[smax], pys[smax], pzs[smax],
|
||||
sfmass[smax];
|
||||
};
|
||||
|
||||
struct ccurqmd13sisys
|
||||
{
|
||||
G4int
|
||||
sspin[smax], scharge[smax], sityp[smax], siso3[smax],
|
||||
suid[smax];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13ssys
|
||||
{
|
||||
G4int nspec;
|
||||
};
|
||||
|
||||
struct ccurqmd13rtdelay
|
||||
{
|
||||
G4double
|
||||
p0td[nmax][2],pxtd[nmax][2],pytd[nmax][2],pztd[nmax][2],
|
||||
fmasstd[nmax][2];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13itdelay
|
||||
{
|
||||
G4int
|
||||
ityptd[nmax][2],iso3td[nmax][2];
|
||||
};
|
||||
|
||||
struct ccurqmd13svinfo
|
||||
{
|
||||
G4int
|
||||
itypt[2],uidt[2],origint[2],iso3t[2];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13ffermi
|
||||
{
|
||||
G4double
|
||||
ffermpx[nmax], ffermpy[nmax], ffermpz[nmax];
|
||||
};
|
||||
|
||||
struct ccurqmd13peq
|
||||
{
|
||||
G4double peq1, peq2;
|
||||
};
|
||||
|
||||
//
|
||||
// Definition for Collision Term
|
||||
// Commons comres
|
||||
// 4 commons
|
||||
//
|
||||
|
||||
struct ccurqmd13versioning
|
||||
{
|
||||
char versiontag[45];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13resonances
|
||||
{
|
||||
|
||||
G4double massres[maxbar-minbar+1],widres[maxbar-minbar+1];
|
||||
G4double massmes[maxmes-minmes+1];
|
||||
G4double widmes[maxmes-minmes+1];
|
||||
G4double mmesmn[maxmes-minmes+1];
|
||||
G4double branres[maxdel-minnuc][maxbra+1];
|
||||
G4double branmes[maxmes-minmes][maxbrm+1];
|
||||
|
||||
G4double branbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4double branbs2[maxcas-mincas][maxbrs2+1];
|
||||
|
||||
G4int bs1type[maxbrs1+1][4],bs2type[maxbrs2+1][4];
|
||||
G4int lbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4int lbs2[maxcas-mincas][maxbrs2+1];
|
||||
G4int lbm[maxmes-minmes][maxbrm+1];
|
||||
|
||||
G4int jres[maxbar-minbar+1];
|
||||
G4int jmes[maxmes-minmes+1];
|
||||
G4int lbr[maxdel-minnuc][maxbra+1];
|
||||
G4int brtype[maxbra+1][4];
|
||||
G4int pares[maxbar-minbar+1],pames[maxmes-minmes+1];
|
||||
G4int bmtype[maxbrm+1][4];
|
||||
G4int isores[maxbar-minbar+1], isomes[maxmes-minmes+1];
|
||||
G4int strres[maxbar-minbar+1],strmes[maxmes-minmes+1];
|
||||
G4int mlt2it[maxmes-minmes];
|
||||
};
|
||||
|
||||
struct ccurqmd13sigtabi
|
||||
{
|
||||
G4int sigmaln[maxreac][2][maxpsig];
|
||||
G4int sigmainf[20][nsigs];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13sigtabr
|
||||
{
|
||||
|
||||
G4double sigmas[itblsz][nsigs],sigmascal[5][nsigs];
|
||||
};
|
||||
|
||||
//comwid
|
||||
struct ccurqmd13decaywidth
|
||||
{
|
||||
G4double tabx [widnsp];
|
||||
G4double fbtaby [2][maxbar-minbar+1][widnsp];
|
||||
G4double pbtaby[maxbra+1][maxbar-minbar+1][2][widnsp];
|
||||
G4double fmtaby [2][maxmes-minmes+1][widnsp];
|
||||
G4double pmtaby [maxbrm+1][maxmes-minmes+1][2][widnsp];
|
||||
G4int wtabflg;
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13brwignorm
|
||||
{
|
||||
G4double bwbarnorm[maxbar-minbar+1];
|
||||
G4double bwmesnorm[maxmes-minmes+1];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13xsections
|
||||
{
|
||||
G4double tabxnd [widnsp];
|
||||
G4double frrtaby[maxdel-1][2][2][widnsp];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13tabnames
|
||||
{
|
||||
char tabname[77];
|
||||
};
|
||||
//-----------------
|
||||
//
|
||||
// options
|
||||
//
|
||||
struct ccurqmd13options
|
||||
{
|
||||
G4int CTOption[numcto];
|
||||
|
||||
G4double CTParam[numctp];
|
||||
};
|
||||
|
||||
|
||||
struct ccurqmd13optstrings
|
||||
{
|
||||
char ctodc[numcto][2];
|
||||
char ctpdc[numctp][2];
|
||||
};
|
||||
|
||||
struct ccurqmd13loptions
|
||||
{
|
||||
ftnlogical
|
||||
fixedseed,bf13,bf14,bf15,bf16,bf17,bf18,bf19,
|
||||
bf20;
|
||||
};
|
||||
|
||||
struct ccurqmd13stables
|
||||
{
|
||||
G4int nstable;
|
||||
G4int stabvec[maxstables];
|
||||
};
|
||||
|
||||
//
|
||||
//colltab
|
||||
//
|
||||
struct ccurqmd13colltab
|
||||
{
|
||||
G4double
|
||||
cttime[ncollmax+1],ctsqrts[ncollmax],
|
||||
ctsigtot[ncollmax],tmin;
|
||||
G4int
|
||||
cti1[ncollmax],cti2[ncollmax];
|
||||
G4int
|
||||
nct,actcol;
|
||||
ftnlogical
|
||||
ctvalid[ncollmax];
|
||||
G4int
|
||||
ctsav[ncollmax];
|
||||
G4int
|
||||
nsav,apt;
|
||||
G4double
|
||||
ctcolfluc[ncollmax];
|
||||
};
|
||||
|
||||
//
|
||||
// inputs
|
||||
//
|
||||
struct ccurqmd13inputs
|
||||
{
|
||||
G4int nevents,spityp[2],prspflg;
|
||||
G4int trspflg,spiso3[2],outsteps,bflag,srtflag,efuncflag;
|
||||
G4int nsrt,firstev,npb;
|
||||
};
|
||||
|
||||
struct ccurqmd13input2
|
||||
{
|
||||
G4double srtmin,srtmax,pbeam,betann,betatar,betapro;
|
||||
G4double pbmin,pbmax;
|
||||
};
|
||||
|
||||
struct ccurqmd13protarints
|
||||
{
|
||||
|
||||
G4int pt_iso3[2][aamax],pt_ityp[2][aamax],pt_spin[2][aamax];
|
||||
|
||||
G4int pt_charge[2][aamax],pt_aa[2],pt_uid[2][aamax];
|
||||
};
|
||||
|
||||
struct ccurqmd13protarreals
|
||||
{
|
||||
G4double pt_r0[2][aamax],pt_rx[2][aamax],pt_ry[2][aamax],
|
||||
pt_rz[2][aamax],pt_fmass[2][aamax],pt_dectime[2][aamax];
|
||||
G4double pt_p0[2][aamax],pt_px[2][aamax],pt_py[2][aamax],
|
||||
pt_pz[2][aamax];
|
||||
G4double pt_rho[2][aamax];
|
||||
G4double pt_pmax[2][aamax];
|
||||
};
|
||||
// newpart
|
||||
struct ccurqmd13inewpart
|
||||
{
|
||||
G4int itypnew[mprt],i3new[mprt],itot[mprt],inew[mprt],nexit;
|
||||
G4int iline,strcount,pslot[oprt],nstring1, nstring2,
|
||||
sidnew[mprt],itypold[oprt],iso3old[oprt];
|
||||
};
|
||||
|
||||
struct ccurqmd13rnewpart
|
||||
{
|
||||
G4double pnew[mprt][5],xnew[mprt][4],betax,betay,betaz,
|
||||
pold[oprt][5],p0nn,pxnn,pynn,pznn,pnn, mstring[2],
|
||||
pnnout,xtotfacold[oprt];
|
||||
|
||||
};
|
||||
|
||||
struct ccurqmd13fnewpart
|
||||
{
|
||||
G4double leadfac[mprt];
|
||||
};
|
||||
//
|
||||
// boxinc
|
||||
//
|
||||
struct ccurqmd13boxic
|
||||
{
|
||||
G4int cbox;
|
||||
G4int boxflag;
|
||||
G4int mbox;
|
||||
G4int bptityp[bptmax],bptiso3[bptmax],bptpart[bptmax];
|
||||
G4int edensflag,para,solid, mbflag,mtest;
|
||||
};
|
||||
|
||||
struct ccurqmd13boxrc
|
||||
{
|
||||
G4double bptpmax[bptmax];
|
||||
G4double edens;
|
||||
G4double lbox;
|
||||
G4double lboxhalbe;
|
||||
G4double lboxd;
|
||||
G4double mbp0, mbpx, mbpy, mbpz;
|
||||
};
|
||||
// comnorm
|
||||
struct ccurqmd13normsplin
|
||||
{
|
||||
G4double x_norm[n][4],y_norm[n][4];
|
||||
G4double y2a[n][4],y2b[n][4], dx;
|
||||
};
|
||||
// comstr
|
||||
struct ccurqmd13FRGSPA
|
||||
{
|
||||
G4double
|
||||
pjspns, pmix1s[njspin][3], pmix2s[njspin][3]
|
||||
, pbars, parqls, parrs;
|
||||
};
|
||||
struct ccurqmd13FRGCPA
|
||||
{
|
||||
G4double
|
||||
pjspnc, pmix1c[njspin][3], pmix2c[njspin][3], pbarc;
|
||||
};
|
||||
|
||||
struct ccurqmd13coparm
|
||||
{
|
||||
G4double parm[njspin];
|
||||
};
|
||||
|
||||
struct ccurqmd13const
|
||||
{
|
||||
G4double pi;
|
||||
};
|
||||
//// freezeout
|
||||
//
|
||||
struct ccurqmd13frcoor
|
||||
{
|
||||
G4double frr0[nmax], frrx[nmax], frry[nmax], frrz[nmax],
|
||||
frp0[nmax], frpx[nmax], frpy[nmax], frpz[nmax];
|
||||
};
|
||||
|
||||
// input
|
||||
struct ccurqmd13values
|
||||
{
|
||||
G4double valint[1];
|
||||
};
|
||||
|
||||
// cascinit
|
||||
struct ccurqmd13ini
|
||||
{
|
||||
ftnlogical bcorr;
|
||||
};
|
||||
|
||||
|
||||
// iso
|
||||
struct ccurqmd13factorials
|
||||
{
|
||||
G4double logfak[101];
|
||||
};
|
||||
struct ccurqmd13cgks
|
||||
{
|
||||
|
||||
G4double cgktab[jmax+1][2*jmax+1][2*jmax+1][jmax+1][jmax+1];
|
||||
};
|
||||
|
||||
// UrQMD
|
||||
//
|
||||
struct ccurqmd13energies
|
||||
{
|
||||
G4double ekinbar, ekinmes, esky2, esky3,
|
||||
eyuk, ecb, epau;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// urqmd
|
||||
extern "C"
|
||||
{
|
||||
extern int time_ ();
|
||||
extern void loginit_();
|
||||
extern void sseed_ (int*);
|
||||
extern void uinit_ (int*);
|
||||
extern void urqmd_ ();
|
||||
extern int pdgid_ (int*, int*); //ityp
|
||||
|
||||
extern void g4urqmdblockdata_ ();
|
||||
|
||||
// urqmdparams
|
||||
extern struct ccurqmd13urqmdparams urqmdparams_;
|
||||
//coms
|
||||
extern struct ccurqmd13sys sys_;
|
||||
extern struct ccurqmd13rsys rsys_;
|
||||
extern struct ccurqmd13comseed comseed_;
|
||||
extern struct ccurqmd13logic logic_;
|
||||
extern struct ccurqmd13mdprop mdprop_;
|
||||
extern struct ccurqmd13cuts cuts_;
|
||||
extern struct ccurqmd13spdata spdata_;
|
||||
extern struct ccurqmd13isys isys_;
|
||||
extern struct ccurqmd13coor coor_;
|
||||
extern struct ccurqmd13frag frag_;
|
||||
extern struct ccurqmd13aios aios_;
|
||||
extern struct ccurqmd13pots pots_;
|
||||
extern struct ccurqmd13scoor scoor_;
|
||||
extern struct ccurqmd13sisys sisys_;
|
||||
extern struct ccurqmd13ssys ssys_;
|
||||
extern struct ccurqmd13rtdelay rtdelay_;
|
||||
extern struct ccurqmd13itdelay itdelay_;
|
||||
extern struct ccurqmd13svinfo svinfo_;
|
||||
extern struct ccurqmd13ffermi ffermi_;
|
||||
extern struct ccurqmd13peq peq_;
|
||||
//comres
|
||||
extern struct ccurqmd13versioning versioning_;
|
||||
extern struct ccurqmd13resonances resonances_;
|
||||
extern struct ccurqmd13sigtabi sigtabi_;
|
||||
extern struct ccurqmd13sigtabr sigtabr_;
|
||||
|
||||
//comwid
|
||||
extern struct ccurqmd13decaywidth decaywidth_;
|
||||
extern struct ccurqmd13brwignorm brwignorm_;
|
||||
extern struct ccurqmd13xsections xsections_;
|
||||
extern struct ccurqmd13tabnames tabnames_;
|
||||
//options
|
||||
extern struct ccurqmd13options options_;
|
||||
extern struct ccurqmd13optstrings optstrings_;
|
||||
extern struct ccurqmd13loptions loptions_;
|
||||
extern struct ccurqmd13stables stables_;
|
||||
//colltab
|
||||
extern struct ccurqmd13colltab colltab_;
|
||||
//inputs
|
||||
extern struct ccurqmd13inputs inputs_;
|
||||
extern struct ccurqmd13input2 input2_;
|
||||
extern struct ccurqmd13protarints protarints_;
|
||||
extern struct ccurqmd13protarreals protarreals_;
|
||||
//newpart
|
||||
extern struct ccurqmd13inewpart inewpart_;
|
||||
extern struct ccurqmd13rnewpart rnewpart_;
|
||||
extern struct ccurqmd13fnewpart fnewpart_;
|
||||
//bocinc
|
||||
extern struct ccurqmd13boxic boxic_;
|
||||
extern struct ccurqmd13boxrc boxrc_;
|
||||
// comnorm
|
||||
struct ccurqmd13normsplin normsplin_;
|
||||
//comstr
|
||||
struct ccurqmd13FRGSPA FRGSPA_;
|
||||
struct ccurqmd13FRGCPA FRGCPA_;
|
||||
struct ccurqmd13coparm coparm_;
|
||||
struct ccurqmd13const const_;
|
||||
// freezeout
|
||||
struct ccurqmd13frcoor frcoor_;
|
||||
//urqmd
|
||||
extern struct ccurqmd13energies energies_;
|
||||
//input
|
||||
extern struct ccurqmd13values values_;
|
||||
// cascinit
|
||||
extern struct ccurqmd13ini ini_;
|
||||
//iso
|
||||
extern struct ccurqmd13factorials factorials_;
|
||||
extern struct ccurqmd13cgks cgks_;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,148 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by Abdel-Waged *
|
||||
// * et al under contract (31-465) to the King Abdul-Aziz City for *
|
||||
// * Science and Technology (KACST), the National Centre of *
|
||||
// * Mathematics and Physics (NCMP), Saudi Arabia. *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4UrQMD1_3Model.hh
|
||||
/// \brief Definition of the G4UrQMD1_3Model class
|
||||
//
|
||||
#ifndef G4UrQMD1_3Model_hh
|
||||
#define G4UrQMD1_3Model_hh
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4UrQMD1_3Model.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 20/10/12
|
||||
// Author: Kh. Abdel-Waged and Nuha Felemban
|
||||
// Revised by: V.V. Uzhinskii
|
||||
// SPONSERED BY
|
||||
// Customer: KAUST/NCMP
|
||||
// Contract: 31-465
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#include "G4Nucleon.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4VIntraNuclearTransportModel.hh"
|
||||
#include "G4KineticTrackVector.hh"
|
||||
#include "G4FragmentVector.hh"
|
||||
#include "G4ParticleChange.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4IntraNucleiCascader.hh"
|
||||
#include "G4Track.hh"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
//--------------------------------
|
||||
//AND->
|
||||
//This should be included in the .cc to
|
||||
//avoid multiple definition issues
|
||||
//#include "G4UrQMD1_3Interface.hh"
|
||||
//AND<-
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4UrQMD1_3Model : public G4VIntraNuclearTransportModel {
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
G4UrQMD1_3Model(const G4String& name = "UrQMD1_3");
|
||||
|
||||
|
||||
virtual ~G4UrQMD1_3Model ();
|
||||
|
||||
// G4double GetMinEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
// G4double GetMaxEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
|
||||
|
||||
G4ReactionProductVector* Propagate(G4KineticTrackVector*
|
||||
theSecondaries, G4V3DNucleus* theTarget);
|
||||
|
||||
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself
|
||||
(const G4HadProjectile &, G4Nucleus &);
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4int operator==(G4UrQMD1_3Model& right) {
|
||||
return (this == &right);
|
||||
}
|
||||
|
||||
G4int operator!=(G4UrQMD1_3Model& right) {
|
||||
return (this != &right);
|
||||
}
|
||||
|
||||
|
||||
G4int verbose;
|
||||
|
||||
void InitialiseDataTables();
|
||||
|
||||
G4int CurrentEvent;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void WelcomeMessage () const;
|
||||
|
||||
G4HadFinalState theResult;
|
||||
|
||||
|
||||
};
|
||||
|
||||
// inline G4double G4UrQMD1_3Model::GetMinEnergy( const G4Material *,
|
||||
// const G4Element * ) const
|
||||
// {return theMinEnergy;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// inline G4double G4UrQMD1_3Model::GetMaxEnergy( const G4Material *,
|
||||
// const G4Element * ) const
|
||||
// {return theMaxEnergy;}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#endif
|
||||
@@ -25,7 +25,7 @@
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
@@ -33,18 +33,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/G4VGlauberDataSet.hh
|
||||
/// \brief Definition of the G4VGlauberDataSet class
|
||||
//
|
||||
#ifndef G4VGlauberDataSet_h
|
||||
#define G4VGlauberDataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4VGlauberDataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HadronPhysicsUrQMD.hh
|
||||
/// \brief Definition of the HadronPhysicsUrQMD class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
// created from HadronPhysicsFTFP_BERT
|
||||
// Modified:
|
||||
// 07.02.2012 A. Dotti: First version
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsUrQMD_h
|
||||
#define HadronPhysicsUrQMD_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "UrQMDPiKBuilder.hh"
|
||||
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "UrQMDProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "UrQMDNeutronBuilder.hh"
|
||||
#include "G4LEPNeutronBuilder.hh"
|
||||
|
||||
#include "G4HyperonFTFPBuilder.hh"
|
||||
|
||||
#include "G4AntiBarionBuilder.hh"
|
||||
#include "UrQMDAntiBarionBuilder.hh"
|
||||
|
||||
class HadronPhysicsUrQMD : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
HadronPhysicsUrQMD(G4int verbose =1);
|
||||
virtual ~HadronPhysicsUrQMD();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
void CreateModels();
|
||||
G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*);
|
||||
|
||||
G4NeutronBuilder * fNeutrons;
|
||||
UrQMDNeutronBuilder * fUrQMDNeutron;
|
||||
G4LEPNeutronBuilder * fLEPNeutron; //needed for capture&fission
|
||||
|
||||
G4PiKBuilder * fPiK;
|
||||
UrQMDPiKBuilder * fUrQMDPiK;
|
||||
|
||||
G4ProtonBuilder * fPro;
|
||||
UrQMDProtonBuilder * fUrQMDPro;
|
||||
|
||||
G4HyperonFTFPBuilder * fHyperon;
|
||||
|
||||
G4AntiBarionBuilder * fAntiBaryon;
|
||||
UrQMDAntiBarionBuilder * fUrQMDAntiBaryon;
|
||||
|
||||
G4VCrossSectionDataSet * fCHIPSInelastic;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: Histo.hh,v 1.6 2007-05-24 13:52:31 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/Histo.hh
|
||||
/// \brief Definition of the Histo class
|
||||
//
|
||||
// $Id$
|
||||
|
||||
#ifndef Histo_h
|
||||
#define Histo_h 1
|
||||
@@ -43,96 +45,98 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
#include "G4DataVector.hh"
|
||||
#include "G4Track.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4RootAnalysisManager;
|
||||
class HistoMessenger;
|
||||
|
||||
namespace AIDA {
|
||||
class ITree;
|
||||
class ITuple;
|
||||
class IHistogram1D;
|
||||
class IAnalysisFactory;
|
||||
}
|
||||
|
||||
class Histo
|
||||
{
|
||||
|
||||
public:
|
||||
Histo(G4int ver);
|
||||
|
||||
Histo();
|
||||
|
||||
~Histo();
|
||||
|
||||
void book();
|
||||
// Book predefined histogramms
|
||||
void Book();
|
||||
|
||||
void save();
|
||||
// Save histogramms to file
|
||||
void Save();
|
||||
|
||||
void reset();
|
||||
// Reset histogramms
|
||||
// In this method 1-D histogramms are predefined
|
||||
void Add1D(const G4String&, const G4String&, G4int nb, G4double x1,
|
||||
G4double x2, G4double u=1.);
|
||||
|
||||
void add1D(const G4String&, const G4String&, G4int nb=100, G4double x1=0.,
|
||||
G4double x2=1., G4double u=1.);
|
||||
// In this method histogramms are predefined
|
||||
|
||||
void setHisto1D(G4int, G4int, G4double, G4double, G4double);
|
||||
// It change bins and boundaries
|
||||
void SetHisto1D(G4int, G4int, G4double, G4double, G4double);
|
||||
|
||||
// Histogram activation/deactivation
|
||||
void Activate(G4int, G4bool);
|
||||
|
||||
void fill(G4int, G4double, G4double);
|
||||
// Histogramms are filled
|
||||
void Fill(G4int, G4double, G4double);
|
||||
|
||||
void scale(G4int, G4double);
|
||||
// Histogramms are scaled
|
||||
void ScaleH1(G4int, G4double);
|
||||
|
||||
void addTuple(const G4String&, const G4String&, const G4String&);
|
||||
// In this method nTuple is booked
|
||||
void AddTuple(const G4String&);
|
||||
|
||||
// In this method nTuple is booked
|
||||
void AddTupleI(const G4String&);
|
||||
void AddTupleF(const G4String&);
|
||||
void AddTupleD(const G4String&);
|
||||
|
||||
void fillTuple(const G4String&, G4double);
|
||||
// Fill nTuple parameter
|
||||
void FillTupleI(G4int, G4int);
|
||||
void FillTupleF(G4int, G4float);
|
||||
void FillTupleD(G4int, G4double);
|
||||
|
||||
void addRow();
|
||||
// Save tuple event
|
||||
void AddRow();
|
||||
|
||||
void setFileName(const G4String& nam) {histName = nam;};
|
||||
// Set output file
|
||||
void SetFileName(const G4String&);
|
||||
void SetFileType(const G4String&);
|
||||
|
||||
void setFileOption(const G4String& nam) {option = nam;};
|
||||
inline void SetVerbose(G4int val) { fVerbose = val; };
|
||||
|
||||
void setFileType(const G4String& nam);
|
||||
|
||||
void print(G4int i);
|
||||
|
||||
void setVerbose(G4int val) {verbose = val;};
|
||||
inline G4bool IsActive() const { return fHistoActive; };
|
||||
|
||||
private:
|
||||
|
||||
G4String histName;
|
||||
G4String histType;
|
||||
G4String option;
|
||||
G4String tupleName;
|
||||
G4String tupleId;
|
||||
G4String tupleList;
|
||||
G4int nHisto;
|
||||
G4int verbose;
|
||||
G4int defaultAct;
|
||||
G4RootAnalysisManager* fManager;
|
||||
HistoMessenger* fMessenger;
|
||||
|
||||
G4String fHistName;
|
||||
G4String fHistType;
|
||||
G4String fTupleName;
|
||||
G4String fTupleTitle;
|
||||
G4int fNHisto;
|
||||
G4int fVerbose;
|
||||
G4bool fDefaultAct;
|
||||
G4bool fHistoActive;
|
||||
G4bool fNtupleActive;
|
||||
|
||||
std::vector<G4int> fHisto;
|
||||
std::vector<G4int> fTupleI;
|
||||
std::vector<G4int> fTupleF;
|
||||
std::vector<G4int> fTupleD;
|
||||
std::vector<G4int> fBins;
|
||||
std::vector<G4bool> fActive;
|
||||
std::vector<G4double> fXmin;
|
||||
std::vector<G4double> fXmax;
|
||||
std::vector<G4double> fUnit;
|
||||
std::vector<G4String> fIds;
|
||||
std::vector<G4String> fTitles;
|
||||
std::vector<G4String> fNtupleI;
|
||||
std::vector<G4String> fNtupleF;
|
||||
std::vector<G4String> fNtupleD;
|
||||
|
||||
std::vector<AIDA::IHistogram1D*> histo;
|
||||
AIDA::IAnalysisFactory* af;
|
||||
AIDA::ITuple* ntup;
|
||||
AIDA::ITree* tree;
|
||||
HistoMessenger* messenger;
|
||||
std::vector<G4int> active;
|
||||
std::vector<G4int> bins;
|
||||
std::vector<G4double> xmin;
|
||||
std::vector<G4double> xmax;
|
||||
std::vector<G4double> unit;
|
||||
std::vector<G4String> ids;
|
||||
std::vector<G4String> tittles;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoManager.hh,v 1.9 2009-08-28 09:21:34 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/HistoManager.hh
|
||||
/// \brief Definition of the HistoManager class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -49,7 +51,6 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Material.hh"
|
||||
#include "G4Element.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -74,7 +75,7 @@ public:
|
||||
|
||||
~HistoManager();
|
||||
|
||||
void bookHisto();
|
||||
void BookHisto();
|
||||
|
||||
void BeginOfRun();
|
||||
void EndOfRun();
|
||||
@@ -85,83 +86,70 @@ public:
|
||||
void ScoreNewTrack(const G4Track*);
|
||||
void AddTargetStep(const G4Step*);
|
||||
|
||||
void SetTargetLength(G4double val) {length = val;};
|
||||
void SetNumberOfSlices(G4int val) {nSlices = val;};
|
||||
void SetNumberOfBinsE(G4int val) {nBinsE = val;};
|
||||
|
||||
G4double Length() const {return length;};
|
||||
G4int NumberOfSlices() const {return nSlices;};
|
||||
|
||||
void SetVerbose(G4int val);
|
||||
G4int GetVerbose() const {return verbose;};
|
||||
|
||||
void SetDefaultBeamPositionFlag(G4bool f) {beamFlag = f;};
|
||||
G4bool DefaultBeamPosition() const {return beamFlag;};
|
||||
|
||||
void SetTargetMaterial(const G4Material* mat);
|
||||
const G4Material* TargetMaterial() const {return material;};
|
||||
const G4Element* TargetElement() const {return elm;};
|
||||
|
||||
G4double CurrentKinEnergy() {return currentKinEnergy;};
|
||||
const G4ParticleDefinition* CurrentParticle() {return currentDef;};
|
||||
|
||||
void SetMaxEnergyDeposit(G4double val) {edepMax = val;};
|
||||
|
||||
void SetPhysicsList(G4VModularPhysicsList* p) {physList = p;};
|
||||
void SetPhysicsListName(const G4String& nam) {physListName = nam;};
|
||||
void SetIonPhysics(const G4String&);
|
||||
|
||||
inline void SetTargetMaterial(const G4Material* mat) {fMaterial = mat;};
|
||||
inline void SetTargetLength(G4double val) {fLength = val;};
|
||||
inline void SetNumberOfSlices(G4int val) {fNSlices = val;};
|
||||
inline void SetNumberOfBinsE(G4int val) {fNBinsE = val;};
|
||||
|
||||
inline G4double Length() const {return fLength;};
|
||||
inline G4int NumberOfSlices() const {return fNSlices;};
|
||||
|
||||
inline G4int GetVerbose() const {return fVerbose;};
|
||||
|
||||
inline void SetDefaultBeamPositionFlag(G4bool f) {fBeamFlag = f;};
|
||||
inline G4bool DefaultBeamPosition() const {return fBeamFlag;};
|
||||
|
||||
inline void SetMaxEnergyDeposit(G4double val) {fEdepMax = val;};
|
||||
|
||||
inline void SetPhysicsList(G4VModularPhysicsList* p) {fPhysList = p;};
|
||||
|
||||
private:
|
||||
|
||||
void Initialise();
|
||||
|
||||
static HistoManager* fManager;
|
||||
|
||||
G4VModularPhysicsList* physList;
|
||||
G4VPhysicsConstructor* ionPhysics;
|
||||
const G4ParticleDefinition* primaryDef;
|
||||
const G4ParticleDefinition* currentDef;
|
||||
const G4ParticleDefinition* neutron;
|
||||
const G4Material* material;
|
||||
G4Element* elm;
|
||||
G4String physListName;
|
||||
G4VModularPhysicsList* fPhysList;
|
||||
G4VPhysicsConstructor* fIonPhysics;
|
||||
const G4ParticleDefinition* fPrimaryDef;
|
||||
const G4ParticleDefinition* fNeutron;
|
||||
const G4Material* fMaterial;
|
||||
|
||||
G4double edepMax;
|
||||
G4double edepEvt;
|
||||
G4double edepEM;
|
||||
G4double edepPI;
|
||||
G4double edepP;
|
||||
G4double edepSum;
|
||||
G4double edepSum2;
|
||||
G4double beamEnergy;
|
||||
G4double length;
|
||||
G4double absZ0;
|
||||
G4double primaryKineticEnergy;
|
||||
G4double currentKinEnergy;
|
||||
G4double fEdepMax;
|
||||
G4double fEdepEvt;
|
||||
G4double fEdepSum;
|
||||
G4double fEdepSum2;
|
||||
G4double fLength;
|
||||
G4double fAbsZ0;
|
||||
G4double fPrimaryKineticEnergy;
|
||||
|
||||
G4int fVerbose;
|
||||
G4int fNBinsE;
|
||||
G4int fNSlices;
|
||||
|
||||
G4int verbose;
|
||||
G4int nBinsE;
|
||||
G4int nSlices;
|
||||
G4int fNevt;
|
||||
G4int fNelec;
|
||||
G4int fNposit;
|
||||
G4int fNgam;
|
||||
G4int fNcpions;
|
||||
G4int fNpi0;
|
||||
G4int fNkaons;
|
||||
G4int fNmuons;
|
||||
G4int fNions;
|
||||
G4int fNdeut;
|
||||
G4int fNalpha;
|
||||
G4int fNneutron;
|
||||
G4int fNproton;
|
||||
G4int fNaproton;
|
||||
G4int fNstep;
|
||||
G4int fNHisto;
|
||||
|
||||
G4int n_evt;
|
||||
G4int n_elec;
|
||||
G4int n_posit;
|
||||
G4int n_gam;
|
||||
G4int n_cpions;
|
||||
G4int n_pi0;
|
||||
G4int n_kaons;
|
||||
G4int n_muons;
|
||||
G4int n_ions;
|
||||
G4int n_deut;
|
||||
G4int n_alpha;
|
||||
G4int n_neutron;
|
||||
G4int n_proton;
|
||||
G4int n_aproton;
|
||||
G4int n_step;
|
||||
G4int nHisto;
|
||||
G4bool fBeamFlag;
|
||||
|
||||
G4bool beamFlag;
|
||||
|
||||
Histo* histo;
|
||||
Histo* fHisto;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,22 +23,16 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoMessenger.hh,v 1.5 2006-11-15 14:58:10 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/HistoMessenger.hh
|
||||
/// \brief Definition of the HistoMessenger class
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id$
|
||||
//
|
||||
// HistoMessenger
|
||||
//
|
||||
// Created: 31.01.2003 V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
// 04.06.2006 Adoptation of hadr01 (V.Ivanchenko)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef HistoMessenger_h
|
||||
#define HistoMessenger_h 1
|
||||
|
||||
@@ -48,9 +42,9 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class Histo;
|
||||
class G4UIdirectory;
|
||||
class G4UIcommand;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -61,18 +55,17 @@ public:
|
||||
HistoMessenger(Histo* );
|
||||
virtual ~HistoMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand* ,G4String );
|
||||
virtual void SetNewValue(G4UIcommand* ,G4String );
|
||||
|
||||
private:
|
||||
|
||||
Histo* histo;
|
||||
Histo* fHisto;
|
||||
|
||||
G4UIcmdWithAString* factoryCmd;
|
||||
G4UIcmdWithAString* fileCmd;
|
||||
G4UIcmdWithAString* optCmd;
|
||||
G4UIcmdWithAnInteger* printCmd;
|
||||
G4UIcommand* histoCmd;
|
||||
|
||||
G4UIdirectory* fHistoDir;
|
||||
G4UIcmdWithAString* fFactoryCmd;
|
||||
G4UIcmdWithAString* fFileCmd;
|
||||
G4UIcommand* fHistoCmd;
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,7 +23,11 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: IonDPMJETPhysics.hh,v 1.0 2010/08/26 10:51:25 antoni Exp $
|
||||
/// \file hadronic/Hadr02/include/IonDPMJETPhysics.hh
|
||||
/// \brief Definition of the IonDPMJETPhysics class
|
||||
//
|
||||
// $Id$
|
||||
// GRAS tag $Name: gras-02-05-02 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -54,6 +58,7 @@
|
||||
|
||||
class G4BinaryLightIonReaction;
|
||||
class G4DPMJET2_5Model;
|
||||
class G4DPMJET2_5CrossSection;
|
||||
class G4VCrossSectionDataSet;
|
||||
|
||||
class IonDPMJETPhysics : public G4VHadronPhysics
|
||||
@@ -71,15 +76,16 @@ public:
|
||||
private:
|
||||
|
||||
void AddProcess(const G4String& name, G4ParticleDefinition* part,
|
||||
G4bool isIon);
|
||||
G4bool isIon);
|
||||
|
||||
G4VCrossSectionDataSet* fTripathi;
|
||||
G4VCrossSectionDataSet* fTripathiLight;
|
||||
G4VCrossSectionDataSet* fShen;
|
||||
G4VCrossSectionDataSet* fIonH;
|
||||
G4BinaryLightIonReaction* theIonBC;
|
||||
G4DPMJET2_5Model* theDPM;
|
||||
G4bool useDPMJETXS;
|
||||
G4BinaryLightIonReaction* fIonBC;
|
||||
G4DPMJET2_5Model* fDPM;
|
||||
G4DPMJET2_5CrossSection* fDpmXS;
|
||||
G4bool fUseDPMJETXS;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/IonUrQMDPhysics.hh
|
||||
/// \brief Definition of the IonUrQMDPhysics class
|
||||
//
|
||||
// $Id: G4IonUrQMDPhysics.hh,v 1.0 2010/08/26 10:51:25 antoni Exp $
|
||||
// GRAS tag $Name: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// Header: G4IonUrQMDPhysics
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4IonUrQMDPhysics_h
|
||||
#define G4IonUrQMDPhysics_h 1
|
||||
|
||||
#include "G4VHadronPhysics.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4HadronicInteraction;
|
||||
class G4VCrossSectionDataSet;
|
||||
class G4UrQMD1_3Model;
|
||||
|
||||
class IonUrQMDPhysics : public G4VHadronPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
IonUrQMDPhysics(G4int ver = 0);
|
||||
virtual ~IonUrQMDPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
void AddProcess(const G4String&, G4ParticleDefinition*, G4bool isIon);
|
||||
|
||||
G4VCrossSectionDataSet* fTripathi;
|
||||
G4VCrossSectionDataSet* fTripathiLight;
|
||||
G4VCrossSectionDataSet* fShen;
|
||||
G4VCrossSectionDataSet* fIonH;
|
||||
|
||||
G4UrQMD1_3Model * fModel;
|
||||
|
||||
G4int fVerbose;
|
||||
G4bool fWasActivated;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,14 +23,15 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the PrimaryGeneratorAction class
|
||||
//
|
||||
// $Id: PrimaryGeneratorAction.hh,v 1.3 2006-06-29 17:23:52 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// EventActionMessenger
|
||||
// PrimaryGeneratorAction
|
||||
//
|
||||
// Created: 31.01.03 V.Ivanchenko
|
||||
//
|
||||
@@ -46,6 +47,7 @@
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Event;
|
||||
class G4ParticleGun;
|
||||
class HistoManager;
|
||||
|
||||
@@ -58,15 +60,14 @@ public:
|
||||
virtual ~PrimaryGeneratorAction();
|
||||
|
||||
void GeneratePrimaries(G4Event*);
|
||||
G4ParticleGun* GetParticleGun() {return particleGun;};
|
||||
|
||||
private:
|
||||
|
||||
PrimaryGeneratorAction & operator=(const PrimaryGeneratorAction &right);
|
||||
PrimaryGeneratorAction(const PrimaryGeneratorAction&);
|
||||
|
||||
G4ParticleGun* particleGun;
|
||||
HistoManager* histo;
|
||||
G4ParticleGun* fParticleGun;
|
||||
HistoManager* fHisto;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,6 +23,11 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/RunAction.hh
|
||||
/// \brief Definition of the RunAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
#ifndef RunAction_h
|
||||
#define RunAction_h 1
|
||||
|
||||
@@ -48,8 +53,6 @@ public: // Without description
|
||||
|
||||
RunAction();
|
||||
~RunAction();
|
||||
|
||||
public: // With description
|
||||
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
// In this method histogramms are booked
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: StackingAction.hh,v 1.3 2006-06-29 17:23:56 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/StackingAction.hh
|
||||
/// \brief Definition of the StackingAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -56,18 +58,18 @@ public:
|
||||
StackingAction();
|
||||
virtual ~StackingAction();
|
||||
|
||||
void SetKillAll(G4bool value) {killAll = value;};
|
||||
void SetKillEM (G4bool value) {killEM = value;};
|
||||
inline void SetKillAll(G4bool value) {fKillAll = value;};
|
||||
inline void SetKillEM (G4bool value) {fKillEM = value;};
|
||||
|
||||
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
|
||||
|
||||
private:
|
||||
|
||||
HistoManager* histoManager;
|
||||
StackingMessenger* stackMessenger;
|
||||
HistoManager* fHistoManager;
|
||||
StackingMessenger* fStackMessenger;
|
||||
|
||||
G4bool killAll;
|
||||
G4bool killEM;
|
||||
G4bool fKillAll;
|
||||
G4bool fKillEM;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: StackingMessenger.hh,v 1.3 2006-06-29 17:23:58 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/StackingMessenger.hh
|
||||
/// \brief Definition of the StackingMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
@@ -62,10 +64,10 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
StackingAction* stackAction;
|
||||
StackingAction* fStackAction;
|
||||
|
||||
G4UIcmdWithABool* killCmd;
|
||||
G4UIcmdWithABool* kCmd;
|
||||
G4UIcmdWithABool* fKillCmd;
|
||||
G4UIcmdWithABool* fKCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TargetSD.hh,v 1.4 2006-06-29 17:24:00 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
/// \file hadronic/Hadr02/include/TargetSD.hh
|
||||
/// \brief Definition of the TargetSD class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -66,7 +68,7 @@ public: // Without description
|
||||
|
||||
private:
|
||||
|
||||
HistoManager* theHisto;
|
||||
HistoManager* fHisto;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMD.hh
|
||||
/// \brief Definition of the UrQMD class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
// created from FTFP_BERT
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TUrQMD_h
|
||||
#define TUrQMD_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
#include "CompileTimeConstraints.hh"
|
||||
|
||||
template<class T>
|
||||
class TUrQMD: public T
|
||||
{
|
||||
public:
|
||||
TUrQMD(G4int ver = 1);
|
||||
virtual ~TUrQMD();
|
||||
|
||||
public:
|
||||
// SetCuts()
|
||||
virtual void SetCuts();
|
||||
|
||||
private:
|
||||
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
|
||||
};
|
||||
#ifdef G4_USE_URQMD
|
||||
#include "UrQMD.icc"
|
||||
#else
|
||||
template<class T>
|
||||
TUrQMD<T>::TUrQMD(G4int) : T()
|
||||
{
|
||||
G4ExceptionDescription de;
|
||||
de<<"Support for UrQMD not enabled"<<G4endl;
|
||||
G4Exception(__FILE__,"UrQMD-01",FatalException,de,"Code should be compiled with G4_USE_URQMD environment variable set.");
|
||||
}
|
||||
|
||||
template<class T>
|
||||
TUrQMD<T>::~TUrQMD() { }
|
||||
template<class T>
|
||||
void TUrQMD<T>::SetCuts() { }
|
||||
#endif
|
||||
|
||||
typedef TUrQMD<G4VModularPhysicsList> UrQMD;
|
||||
|
||||
#endif //TUrQMD_h
|
||||
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMD.icc
|
||||
/// \brief Implementation of the UrQMD class inline functions
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// created from FTFP_BERT
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
//#include "G4ProcessManager.hh"
|
||||
//#include "G4ProcessVector.hh"
|
||||
//#include "G4ParticleTypes.hh"
|
||||
//#include "G4ParticleTable.hh"
|
||||
|
||||
//#include "G4Material.hh"
|
||||
//#include "G4MaterialTable.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "IonUrQMDPhysics.hh"
|
||||
#include "G4StoppingPhysics.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4NeutronTrackingCut.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsUrQMD.hh"
|
||||
|
||||
template<class T> TUrQMD<T>::TUrQMD(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: UrQMD 0.1"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new G4EmStandardPhysics(ver));
|
||||
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics(ver) );
|
||||
|
||||
// Hadron Elastic scattering
|
||||
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsUrQMD(ver));
|
||||
|
||||
// Stopping Physics
|
||||
this->RegisterPhysics( new G4StoppingPhysics(ver) );
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonUrQMDPhysics(ver));
|
||||
|
||||
// Neutron tracking cut
|
||||
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
|
||||
|
||||
}
|
||||
|
||||
template<class T> TUrQMD<T>::~TUrQMD()
|
||||
{
|
||||
}
|
||||
|
||||
template<class T> void TUrQMD<T>::SetCuts()
|
||||
{
|
||||
if (this->verboseLevel >1){
|
||||
G4cout << "UrQMD::SetCuts:";
|
||||
}
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
// the default cut value for all particle types
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMDAntiBarionBuilder.hh
|
||||
/// \brief Definition of the UrQMDAntiBarionBuilder class
|
||||
//
|
||||
// $Id: $
|
||||
// GEANT4 tag $Name: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: UrQMDAntiBarionBuilder
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef UrQMDAntiBarionBuilder_h
|
||||
#define UrQMDAntiBarionBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4VAntiBarionBuilder.hh"
|
||||
|
||||
#include "G4UrQMD1_3Model.hh"
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include "G4VComponentCrossSection.hh"
|
||||
|
||||
class UrQMDAntiBarionBuilder : public G4VAntiBarionBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
UrQMDAntiBarionBuilder();
|
||||
virtual ~UrQMDAntiBarionBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4AntiProtonInelasticProcess * aP);
|
||||
virtual void Build(G4AntiNeutronInelasticProcess * aP);
|
||||
virtual void Build(G4AntiDeuteronInelasticProcess * aP);
|
||||
virtual void Build(G4AntiTritonInelasticProcess * aP);
|
||||
virtual void Build(G4AntiHe3InelasticProcess * aP);
|
||||
virtual void Build(G4AntiAlphaInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double val) {fMin = val;}
|
||||
void SetMaxEnergy(G4double val) {fMax = val;}
|
||||
|
||||
private:
|
||||
|
||||
G4UrQMD1_3Model * fModel;
|
||||
G4VCrossSectionDataSet* fAntiNucleonData;
|
||||
G4VComponentCrossSection * fAntiNucleonXS;
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMDNeutronBuilder.hh
|
||||
/// \brief Definition of the UrQMDNeutronBuilder class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: UrQMDNeutronBuilder
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef UrQMDNeutronBuilder_h
|
||||
#define UrQMDNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4UrQMD1_3Model.hh"
|
||||
|
||||
class UrQMDNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
UrQMDNeutronBuilder();
|
||||
virtual ~UrQMDNeutronBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
G4UrQMD1_3Model * fModel;
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMDPiKBuilder.hh
|
||||
/// \brief Definition of the UrQMDPiKBuilder class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: UrQMDPiKBuilder
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef UrQMDPiKBuilder_h
|
||||
#define UrQMDPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
#include "G4UrQMD1_3Model.hh"
|
||||
|
||||
class UrQMDPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
UrQMDPiKBuilder();
|
||||
virtual ~UrQMDPiKBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
|
||||
G4UrQMD1_3Model * fModel;
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/UrQMDProtonBuilder.hh
|
||||
/// \brief Definition of the UrQMDProtonBuilder class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef UrQMDProtonBuilder_h
|
||||
#define UrQMDProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4UrQMD1_3Model.hh"
|
||||
|
||||
class UrQMDProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
UrQMDProtonBuilder();
|
||||
virtual ~UrQMDProtonBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
inline void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
inline void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
|
||||
G4UrQMD1_3Model * fModel;
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user