Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
+36 -8
View File
@@ -1,8 +1,36 @@
#---Add all subdirectories that contains a CMakeLists.txt file -------------------------------------
file(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CMakeLists.txt)
foreach( file ${files} )
get_filename_component(path ${file} PATH)
if(path)
add_subdirectory(${path})
endif()
endforeach()
#---Adding all advanced examples subdirectories explicitly
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
#----------------------------------------------------------------------------
# some examples require Geant4 build with optional packages
#
find_package(Geant4)
add_subdirectory(air_shower)
add_subdirectory(amsEcal)
add_subdirectory(brachytherapy)
if(Geant4_gdml_FOUND)
add_subdirectory(ChargeExchangeMC)
else()
message(STATUS "G4 Examples: GDML not installed --> ChargeExchangeMC example disabled")
endif()
add_subdirectory(composite_calorimeter)
add_subdirectory(dnaphysics)
add_subdirectory(eRosita)
add_subdirectory(gammaknife)
add_subdirectory(gammaray_telescope)
add_subdirectory(hadrontherapy)
add_subdirectory(human_phantom)
add_subdirectory(iort_therapy)
add_subdirectory(lAr_calorimeter)
add_subdirectory(medical_linac)
add_subdirectory(microbeam)
add_subdirectory(microdosimetry)
add_subdirectory(nanobeam)
add_subdirectory(purging_magnet)
add_subdirectory(radioprotection)
add_subdirectory(underground_physics)
add_subdirectory(xray_fluorescence)
@@ -0,0 +1,165 @@
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
include(CMakeDependentOption)
set(name ChargeExchangeMC)
project(${name})
# the project requires Geant4 GDML support!
find_package(Geant4 REQUIRED COMPONENTS gdml)
# if CEXMC_USE_TCSH is 'yes' then tcsh session support will be built
option(CEXMC_USE_TCSH
"Build ${name} with tcsh session support
(requires Geant4 tcsh support)" ON)
if(CEXMC_USE_TCSH)
find_package(Geant4 COMPONENTS ui_tcsh)
if(NOT Geant4_ui_tcsh_FOUND)
message(WARNING
"Could not find Geant4 tcsh binding, skip tcsh session support")
endif()
endif()
# if CEXMC_USE_GUI is 'yes' then GUI session support will be built
option(CEXMC_USE_GUI
"Build ${name} with GUI session support
(requires Geant4 Qt backend)" ON)
if(CEXMC_USE_GUI)
find_package(Geant4 COMPONENTS qt)
if(NOT Geant4_qt_FOUND)
message(WARNING
"Could not find Geant4 Qt backend, skip GUI session support")
endif()
endif()
include(${Geant4_USE_FILE})
set(EXTRA_LIBRARIES )
# if CEXMC_USE_PERSISTENCY is 'yes' then run and events data can be read and
# written; requires boost::serialize headers and library
option(CEXMC_USE_PERSISTENCY
"Build ${name} with data persistency support
(requires Boost Serialization library)" ON)
if(CEXMC_USE_PERSISTENCY)
find_package(Boost COMPONENTS serialization)
if(Boost_SERIALIZATION_FOUND)
add_definitions(-DCEXMC_USE_PERSISTENCY)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
list(APPEND EXTRA_LIBRARIES ${Boost_LIBRARIES})
message(STATUS
"Library ${Boost_LIBRARIES} was added to the linkage list")
else()
message(WARNING
"Could not find Boost Serialization library, "
"skip data persistency support")
endif()
endif()
# if CEXMC_USE_CUSTOM_FILTER is 'yes' then Custom filter can be used for
# existing events data; requires boost::spirit 2.x headers. Notice: if
# CEXMC_USE_PERSISTENCY is not 'yes' then Custom Filter will not be used anyway
cmake_dependent_option(CEXMC_USE_CUSTOM_FILTER
"Build ${name} with custom filter support
(requires Boost Spirit library)" OFF
"CEXMC_USE_PERSISTENCY" OFF)
if(CEXMC_USE_CUSTOM_FILTER)
add_definitions(-DCEXMC_USE_CUSTOM_FILTER)
endif()
# if CEXMC_DEBUG_CUSTOM_FILTER is 'yes' then AST trees will be printed out
cmake_dependent_option(CEXMC_DEBUG_CUSTOM_FILTER
"Debug custom filter" OFF
"CEXMC_USE_CUSTOM_FILTER" OFF)
if(CEXMC_USE_CUSTOM_FILTER)
add_definitions(-DCEXMC_DEBUG_CF)
endif()
# if CEXMC_USE_QGSP_BIC_EMY is 'yes' then QGSP_BIC_EMY will be used as basic
# physics, otherwise - QGSP_BERT
option(CEXMC_USE_QGSP_BIC_EMY
"Build ${name} with QGSP_BIC_EMY physics list
(default physics list is QGSP_BERT)" OFF)
if(CEXMC_USE_QGSP_BIC_EMY)
add_definitions(-DCEXMC_USE_QGSP_BIC_EMY)
endif()
# if CEXMC_DEBUG_TP is 'yes' then additional info will be printed on track
# points data
option(CEXMC_DEBUG_TP
"Print debug information for track points" OFF)
if(CEXMC_DEBUG_TP)
add_definitions(-DCEXMC_DEBUG_TP)
endif()
# if CEXMC_USE_HISTOGRAMING is 'yes' then ROOT histograming framework will be
# compiled. Notice: if ROOT CERN is not installed in your system then the
# histograming module won't compile anyway
option(CEXMC_USE_HISTOGRAMING
"Build ${name} with histograming support
(requires CERN ROOT libraries)" ON)
if(CEXMC_USE_HISTOGRAMING)
find_package(ROOT QUIET)
if(ROOT_FOUND)
add_definitions(-DCEXMC_USE_ROOT)
include_directories(${ROOT_INCLUDE_DIR})
list(APPEND EXTRA_LIBRARIES ${ROOT_LIBRARIES})
message(STATUS
"Libraries ${ROOT_LIBRARIES} were added to the linkage list")
else()
message(WARNING
"Could not find ROOT package, skip histograming support")
endif()
endif()
# if CEXMC_USE_ROOTQT is 'yes' then it will be possible to see ROOT histograms
# in GUI session mode
cmake_dependent_option(CEXMC_USE_ROOTQT
"Build ${name} with GUI histograming support
(requires CERN ROOT Qt binding)" ON
"CEXMC_USE_HISTOGRAMING" OFF)
if(CEXMC_USE_ROOTQT AND ROOT_FOUND)
find_library(ROOTQT_LIBRARY GQt
PATHS ${ROOT_LIBRARY_DIR} ${ROOT_LIBRARY_DIR}/root
NO_DEFAULT_PATH)
if(ROOTQT_LIBRARY)
add_definitions(-DCEXMC_USE_ROOTQT)
list(APPEND EXTRA_LIBRARIES -lGQt)
message(STATUS "Library -lGQt was added to the linkage list")
else()
message(WARNING
"Could not find ROOT Qt library, skip GUI histograming support")
endif()
endif()
# if CEXMC_USE_GENBOD is 'yes' then original FORTRAN routine GENBOD() will be
# used as phase space generator
option(CEXMC_USE_GENBOD
"Link ${name} with original FORTRAN function GENBOD()
(by default C++ reimplementation of GENBOD() is used)" OFF)
if(CEXMC_USE_GENBOD)
find_program(CERNLIB_CONFIG_EXE cernlib
PATHS $ENV{CERN_ROOT}/bin)
if(CERNLIB_CONFIG_EXE)
execute_process(
COMMAND ${CERNLIB_CONFIG_EXE} geant321 phtools packlib kernlib
OUTPUT_VARIABLE CERNLIB_LIBRARIES
OUTPUT_STRIP_TRAILING_WHITESPACE)
add_definitions(-DCEXMC_USE_GENBOD)
list(APPEND EXTRA_LIBRARIES ${CERNLIB_LIBRARIES})
message(STATUS
"Libraries ${CERNLIB_LIBRARIES} were added to the linkage list")
else()
message(WARNING
"Could not find cernlib, skip original FORTRAN GENBOD() support")
endif()
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${Geant4_INCLUDE_DIR})
file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
add_executable(${name} EXCLUDE_FROM_ALL ${name}.cc ${sources})
target_link_libraries(${name} ${Geant4_LIBRARIES} ${EXTRA_LIBRARIES})
@@ -6,7 +6,7 @@ CPPFLAGS += -DCEXMC_PROG_NAME=\"$(name)\"
# if CEXMC_USE_PERSISTENCY is 'yes' then run and events data can be read and
# written; requires boost::serialize headers and library
CEXMC_USE_PERSISTENCY := yes
CEXMC_USE_PERSISTENCY := no
# if CEXMC_USE_CUSTOM_FILTER is 'yes' then Custom filter can be used for
# existing events data; requires boost::spirit 2.x headers. Notice: if
# CEXMC_USE_PERSISTENCY is not 'yes' then Custom Filter will not be used anyway
@@ -7,6 +7,26 @@ cirrone@lns.infn.it
History file of the ChargeExchangeMC application
====================================================
02.11.2012 - L.Garnier Tag: ChargeExchangeMC-V09-05-05
- Add "File" menu in gui.mac, Fix bug #1395
02.11.2012 - L.Garnier Tag: ChargeExchangeMC-V09-05-04
- Add icons.mac
25.10.2012, L.Pandola & A.Radkov, Tag: ChargeExchangeMC-V09-05-03
- Fix the CMakeLists.txt file to make Qt optional
18.10.2012, L.Pandola & A.Radkov, Tag: ChargeExchangeMC-V09-05-02
- Add the CMakeLists.txt file (first version, to be checked)
17.10.2012, L.Pandola & A.Radkov, Tag: ChargeExchangeMC-V09-05-01
- Fix to compile the code against Geant4 9.6
- Edit GNUmakefile such that the default version does not
depend on boost
11.10.2012, G.Cosmo, Tag: ChargeExchangeMC-V09-05-00
- Explicit inclusion of units and constants headers.
01.11.2011, G.A.P.Cirrone & A.Radkov, Tag: ChargeExchangeMC-V09-04-05
- Header files added.
@@ -51,7 +51,6 @@
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/spirit/include/phoenix_function.hpp>
#include <boost/spirit/include/phoenix_fusion.hpp>
#include "CexmcAST.hh"
@@ -66,6 +65,7 @@ namespace CexmcCustomFilter
using boost::spirit::ascii::space_type;
using boost::spirit::ascii::alpha;
using boost::spirit::ascii::alnum;
using boost::spirit::unused_type;
enum Action
@@ -97,9 +97,8 @@ namespace CexmcCustomFilter
struct Compiler
{
template < typename A, typename B = boost::fusion::unused_type,
typename C = boost::fusion::unused_type,
typename D = boost::fusion::unused_type >
template < typename A, typename B = unused_type,
typename C = unused_type, typename D = unused_type >
struct result { typedef void type; };
void operator()( ParseResult & parseResult, Action value ) const;
@@ -192,7 +191,7 @@ namespace CexmcCustomFilter
expression %= or_expr;
identifier %= lexeme[ alpha >> *( alnum | lit( '_' ) ) ];
identifier %= raw[ lexeme[ alpha >> *( alnum | '_' ) ] ];
primary_expr = function1[ _val = _1 ] |
lit( '(' ) >> expression[ op( _val, _1 ) ] >> lit( ')' ) |
@@ -45,6 +45,8 @@
#define CEXMC_ENERGY_DEPOSIT_DIGITIZER_HH
#include <iosfwd>
#include <CLHEP/Units/SystemOfUnits.h>
#include <G4VDigitizerModule.hh>
#include "CexmcEnergyDepositStore.hh"
#include "CexmcSimpleRangeWithValue.hh"
@@ -478,7 +480,7 @@ inline void CexmcEnergyDepositDigitizer::AddCrystalResolutionRange(
/* range boundaries are given in GeV */
crystalResolutionData.push_back( CexmcEnergyRangeWithDoubleValue(
bottom * GeV, top * GeV, value ) );
bottom * CLHEP::GeV, top * CLHEP::GeV, value ) );
}
@@ -1,3 +1,8 @@
# File menu :
/gui/addMenu file File
/gui/addButton file Quit exit
# Run menu :
/gui/addMenu run Run
/gui/addButton run "Collect all events" "/control/execute mac/setup_all_events.mac"
/gui/addButton run "Collect interaction events" "/control/execute mac/setup_interaction_events.mac"
@@ -7,6 +12,7 @@
/gui/addButton run "Run 10 events" "/run/beamOn 10"
/gui/addButton run "Run 100 events" "/run/beamOn 100"
# Viewer menu :
/gui/addMenu viewer Viewer
/gui/addButton viewer "Draw world" "/control/execute mac/visQt.mac"
#/gui/addButton viewer "Draw world (OI)" "/control/execute mac/visOI.mac"
@@ -15,3 +21,6 @@
/gui/addButton viewer "Highlight inner crystals" "/cexmc/vis/hlIC"
/gui/addButton viewer "Unhighlight inner crystals" "/cexmc/vis/hlIC false"
/gui/addButton viewer "Update scene" "/vis/scene/notifyHandlers"
#Add an icon toolbar
/control/execute mac/icons.mac
@@ -0,0 +1,28 @@
#
# This file permits to customize, with commands,
# the icon menu bar of the G4UIQt sessions not yet implemented other UI drivers (geant4-09-05-ref-09)
# It has no effect with G4UIterminal.
# open/save icons
/gui/addIcon "Open macro file" open /control/execute
/gui/addIcon "Save viewer state" save /vis/viewer/save
# Cursors style icons
/gui/addIcon "Move" move
/gui/addIcon "Pick" pick
/gui/addIcon "Zoom out" zoom_out
/gui/addIcon "Zoom in" zoom_in
/gui/addIcon "Rotate" rotate
# Surface Style icons
/gui/addIcon "Hidden line removal" hidden_line_removal
/gui/addIcon "Hidden line removal" hidden_line_and_surface_removal
/gui/addIcon "Hidden line removal" solid
/gui/addIcon "Hidden line removal" wireframe
# Perspective/Ortho icons
/gui/addIcon "Perspective" perspective
/gui/addIcon "Orthographic" ortho
# user define icon (example)
#/gui/addIcon "Change background color" user_icon /vis/viewer/set/background my_picture.jpg
@@ -60,6 +60,8 @@ CexmcCustomFilterEval::CexmcCustomFilterEval( const G4String & sourceFileName,
if ( ! sourceFile )
throw CexmcException( CexmcCFBadSource );
bool commandIsPending( false );
while ( ! sourceFile.eof() )
{
std::string line;
@@ -69,62 +71,75 @@ CexmcCustomFilterEval::CexmcCustomFilterEval( const G4String & sourceFileName,
if ( commentStartPos != std::string::npos )
line.erase( commentStartPos );
command += line;
if ( ! command.empty() )
if ( line.empty() ||
line.find_first_not_of( " \t" ) == std::string::npos )
{
size_t length( command.length() );
if ( command[ length - 1 ] == '\\' )
{
command.erase( length - 1 );
continue;
}
CexmcCustomFilter::ParseResult curParseResult;
std::string::const_iterator begin( command.begin() );
std::string::const_iterator end( command.end() );
try
{
if ( ! CexmcCustomFilter::phrase_parse( begin, end, grammar,
CexmcCustomFilter::space, curParseResult ) ||
begin != end )
{
throw CexmcException( CexmcCFParseError );
}
}
catch ( ... )
if ( commandIsPending )
{
sourceFile.close();
throw;
throw CexmcException( CexmcCFParseError );
}
continue;
}
command += line;
size_t length( command.length() );
if ( command[ length - 1 ] == '\\' )
{
command.erase( length - 1 );
commandIsPending = true;
continue;
}
CexmcCustomFilter::ParseResult curParseResult;
std::string::const_iterator begin( command.begin() );
std::string::const_iterator end( command.end() );
try
{
if ( ! CexmcCustomFilter::phrase_parse( begin, end, grammar,
CexmcCustomFilter::space, curParseResult ) ||
begin != end )
{
throw CexmcException( CexmcCFParseError );
}
}
catch ( ... )
{
sourceFile.close();
throw;
}
#ifdef CEXMC_DEBUG_CF
G4cout << "Parsed expression AST:" << G4endl;
curParseResult.expression.Print();
G4cout << "Parsed expression AST:" << G4endl;
curParseResult.expression.Print();
#endif
switch ( curParseResult.action )
{
case CexmcCustomFilter::KeepTPT :
case CexmcCustomFilter::DeleteTPT :
parseResultTPT.push_back( curParseResult );
break;
case CexmcCustomFilter::KeepEDT :
case CexmcCustomFilter::DeleteEDT :
parseResultEDT.push_back( curParseResult );
break;
default :
break;
}
switch ( curParseResult.action )
{
case CexmcCustomFilter::KeepTPT :
case CexmcCustomFilter::DeleteTPT :
parseResultTPT.push_back( curParseResult );
break;
case CexmcCustomFilter::KeepEDT :
case CexmcCustomFilter::DeleteEDT :
parseResultEDT.push_back( curParseResult );
break;
default :
break;
}
command = "";
commandIsPending = false;
}
sourceFile.close();
if ( commandIsPending )
throw CexmcException( CexmcCFParseError );
}
@@ -72,8 +72,6 @@
#include "CexmcException.hh"
#include "CexmcHistoWidget.hh"
extern TDirectory * gDirectory;
namespace
{
@@ -45,6 +45,7 @@
#include <cmath>
#include <Randomize.hh>
#include <G4PhysicalConstants.hh>
#include <G4SystemOfUnits.hh>
#include "CexmcReimplementedGenbod.hh"
#include "CexmcException.hh"
@@ -63,6 +63,7 @@
#include <G4VisManager.hh>
#include <G4Scene.hh>
#include <G4VModel.hh>
#include <G4Version.hh>
#include "CexmcRunManager.hh"
#include "CexmcRunManagerMessenger.hh"
#include "CexmcRunAction.hh"
@@ -857,7 +858,7 @@ void CexmcRunManager::SaveCurrentTPTEvent(
const CexmcAngularRangeList & angularRanges,
G4bool writeToDatabase )
{
CexmcRun * run( static_cast< const CexmcRun * >( currentRun ) );
CexmcRun * run( static_cast< CexmcRun * >( currentRun ) );
if ( ! run )
return;
@@ -1315,12 +1316,21 @@ void CexmcRunManager::RegisterScenePrimitives( void )
return;
/* G4Scene declarations lack this kind of typedef */
typedef std::vector< G4VModel * > MList;
#if G4VERSION_NUMBER < 960
typedef std::vector< G4VModel * > MList;
#else
typedef std::vector< G4Scene::Model > MList;
#endif
const MList & mList( curScene->GetRunDurationModelList() );
for ( MList::const_iterator k( mList.begin() ); k != mList.end(); ++k )
{
if ( ( *k )->GetGlobalDescription() == CexmcScenePrimitivesDescription )
#if G4VERSION_NUMBER < 960
const G4String & modelDesc( ( *k )->GetGlobalDescription() );
#else
const G4String & modelDesc( k->fpModel->GetGlobalDescription() );
#endif
if ( modelDesc == CexmcScenePrimitivesDescription )
return;
}
@@ -42,6 +42,7 @@
*/
#include <cmath>
#include <G4SystemOfUnits.hh>
#include <G4Polyline.hh>
#include <G4Circle.hh>
#include <G4Polyhedron.hh>
+101
View File
@@ -0,0 +1,101 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(air_shower)
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
#
include(${Geant4_USE_FILE})
#----------------------------------------------------------------------------
# Find AIDA (optional package)
#
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
find_package(AIDA QUIET)
if(AIDA_FOUND)
message(STATUS "G4 Examples: AIDA found. --> air_shower example with AIDA enabled.")
# Uncomment this line if suitable (some customization may be needed)
add_definitions(-DG4ANALYSIS_USE)
else()
message(STATUS "G4 Example: AIDA not found --> air_shower example with AIDA disabled.")
endif()
#----------------------------------------------------------------------------
# Add options
#
option(ULTRA_MIRROR_USE "Use of mirrors" OFF)
if(ULTRA_MIRROR_USE)
add_definitions(-DULTRA_MIRROR_USE)
endif()
option(ULTRA_VERBOSE "Set verbosity" OFF)
if(ULTRA_VERBOSE)
add_definitions(-DULTRA_VERBOSE)
endif()
option(ULTRA_GROUND_USE "Use ground" OFF)
if(ULTRA_GROUND_USE)
add_definitions(-DULTRA_GROUND_USE)
endif()
option(ULTRA_REFLECTION_USE "Use of reflection" OFF)
if(ULTRA_REFLECTION_USE)
add_definitions(-DULTRA_REFLECTION_USE)
endif()
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR}
${AIDA_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(Ultra Ultra.cc ${sources} ${headers})
target_link_libraries(Ultra ${Geant4_LIBRARIES} ${AIDA_LIBRARIES} )
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build air_shower. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(air_shower_SCRIPTS
UltraMacro.mac Visualisation.mac
)
foreach(_script ${air_shower_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
#----------------------------------------------------------------------------
# Add program to the project targets
# (this avoids the need of typing the program name after make)
#
add_custom_target(air_shower DEPENDS Ultra)
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS Ultra DESTINATION bin)
+26 -1
View File
@@ -1,4 +1,3 @@
$Id: History,v 1.25 2010-11-09 14:50:21 allison Exp $
-------------------------------------------------------------------
=========================================================
@@ -8,6 +7,32 @@ $Id: History,v 1.25 2010-11-09 14:50:21 allison Exp $
History file
------------
28.11.2012 - G. Cosmo (air_shower-V09-05-07)
Fixed cases of variable shadowing.
06.11.2012 - L. Pandola (air_shower-V09-05-06)
Fixed syntax in CMakeLists.txt.
26.10.2012 - L. Pandola (air_shower-V09-05-05)
Replace CMakeLists.txt to deal with UI/VIS.
11.10.2012 - G.Cosmo (air_shower-V09-05-04)
Explicit inclusion of units and constants headers.
26.06.2012 - G.Cosmo (air_shower-V09-05-03)
Removed call to SetModel for optical physics, according to
latest change to optical boundary process.
31.01.2012 - G.Folger (air_shower-V09-05-02)
fix another compilation warning from gcc4.6: variables set but
not used, in src/UltraEventAction.cc
18.01.2012 - G.Folger (air_shower-V09-05-01)
fix compilation warnings from gcc4.6: variables set but not used.
08.12.2011 - P.Mato (air_shower-V09-05-00)
Added CMakeLists.txt file
31.10.2011 - L.Pandola (air_shower-V09-04-01)
Migrated G4Exceptions to the new scheme
@@ -44,10 +44,13 @@
// on the UltraFresnelLens class.
//
#include <cmath>
#include "UltraDetectorConstruction.hh"
#include "UltraPMTSD.hh"
#include "UltraFresnelLens.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4SDManager.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
@@ -130,8 +133,7 @@ World_phys = new G4PVPlacement(0,G4ThreeVector(),"World",World_log,0,false,0);
G4cout << "# #" << G4endl ;
G4cout << "# #" << G4endl ;
G4VPhysicalVolume* chosenVolume;
chosenVolume = ConstructUVscope(World_phys);
ConstructUVscope(World_phys);
G4cout << "# #" << G4endl ;
@@ -203,8 +205,7 @@ void UltraDetectorConstruction::ConstructTableMaterials()
// ---------
a = 26.98*g/mole;
density = 2.7*g/cm3;
G4Material* Al ;
Al = new G4Material(name="Aluminum", z=13., a, density);
new G4Material(name="Aluminum", z=13., a, density);
// Quartz
@@ -402,8 +403,8 @@ AirMirrorMPT->AddProperty("REFLECTIVITY", XX, ICEREFLECTIVITY,NUM);
OpticalAirMirror->SetMaterialPropertiesTable(AirMirrorMPT);
G4LogicalBorderSurface *AirMirror ;
AirMirror = new G4LogicalBorderSurface("Air/Mirror Surface",World_phys,physMirror,OpticalAirMirror);
new G4LogicalBorderSurface("Air/Mirror Surface",World_phys,physMirror,OpticalAirMirror);
return physMirror ;
@@ -461,8 +462,7 @@ AirGroundMPT->AddProperty("REFLECTIVITY", XX, ICEREFLECTIVITY,NUM);
OpticalAirGround->SetMaterialPropertiesTable(AirGroundMPT);
G4LogicalBorderSurface *AirGround ;
AirGround = new G4LogicalBorderSurface("Air/Ground Surface",World_phys,physGround,OpticalAirGround);
new G4LogicalBorderSurface("Air/Ground Surface",World_phys,physGround,OpticalAirGround);
return physGround ;
@@ -541,7 +541,7 @@ G4Material *LensMaterial = G4Material::GetMaterial(name = "Acrylic") ;
G4ThreeVector LensPosition = UVscopePosition+G4ThreeVector(0.0*mm,0.0*mm,UVscopeHeight/2.0-UVscopeBaffle) ;
UltraFresnelLens *FresnelLens = new UltraFresnelLens(LensDiameter,LensNumOfGrooves,LensMaterial,World_phys,LensPosition) ;
FresnelLens = new UltraFresnelLens(LensDiameter,LensNumOfGrooves,LensMaterial,World_phys,LensPosition) ;
///////////////////////////////////
@@ -587,8 +587,7 @@ G4ThreeVector PMTpos = LensPosition + G4ThreeVector(0.0*cm,0.0*cm,-(LensFocalLen
// Rotate PMT window through the axis OX by an angle = 180. degrees
G4RotationMatrix *PMTrot = new G4RotationMatrix(G4ThreeVector(1.0,0.0,0.0),pi);
G4VPhysicalVolume *physPMT ;
physPMT = new G4PVPlacement(PMTrot,PMTpos,"PMT1",logicalPMT,World_phys,false,0);
new G4PVPlacement(PMTrot,PMTpos,"PMT1",logicalPMT,World_phys,false,0);
if(!PMTSD)
{
@@ -626,14 +625,11 @@ OpticalAirPaint->SetMaterialPropertiesTable(AirPaintMPT);
//OpticalAirPaint->DumpInfo();
G4LogicalBorderSurface *AirCylinder ;
AirCylinder = new G4LogicalBorderSurface("Air/UVscope Cylinder Surface",World_phys,physicalUVscope,OpticalAirPaint);
new G4LogicalBorderSurface("Air/UVscope Cylinder Surface",World_phys,physicalUVscope,OpticalAirPaint);
G4LogicalBorderSurface *AirLensFrame ;
AirLensFrame = new G4LogicalBorderSurface("Air/LensFrame Surface",World_phys,physicalLensFrame,OpticalAirPaint);
new G4LogicalBorderSurface("Air/LensFrame Surface",World_phys,physicalLensFrame,OpticalAirPaint);
G4LogicalBorderSurface *AirBackCover ;
AirBackCover = new G4LogicalBorderSurface("Air/UVscope Back Cover Surface",World_phys,physicalUVscopeBack,OpticalAirPaint);
new G4LogicalBorderSurface("Air/UVscope Back Cover Surface",World_phys,physicalUVscopeBack,OpticalAirPaint);
/////////////////////////////////////////////////////////////////////////////////////
@@ -112,11 +112,9 @@ if(HCE){
for(G4int iHit=0; iHit<nOptHits; iHit++){
#ifdef G4ANALYSIS_USE
G4double HitEnergy ;
HitEnergy = (*OpticalHitsColl)[iHit]->GetEnergy() ;
G4ThreeVector HitPos = (*OpticalHitsColl)[iHit]->GetPosition()/cm;
#ifdef G4ANALYSIS_USE
UltraAnalysisManager* analysis = UltraAnalysisManager::getInstance();
analysis->FillHistogram(1,HitEnergy/eV);
#endif
@@ -44,6 +44,8 @@
#include "UltraFresnelLens.hh"
#include "UltraFresnelLensParameterisation.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4Tubs.hh"
@@ -41,9 +41,11 @@
// An UltraFresnelLensParameterisation object is created in the UltraFresnelLens class
//
#include <cmath>
#include "UltraFresnelLensParameterisation.hh"
#include "UltraFresnelLens.hh"
#include "G4SystemOfUnits.hh"
#include "G4VPhysicalVolume.hh"
#include "G4ThreeVector.hh"
#include "G4Cons.hh"
@@ -39,6 +39,7 @@
// Data members are the photon energy and incidence position
//
#include "UltraOpticalHit.hh"
#include "G4SystemOfUnits.hh"
G4Allocator<UltraOpticalHit> UltraOpticalHitAllocator;
@@ -260,10 +260,6 @@ void UltraPhysicsList::ConstructOp()
// theCerenkovProcess->SetMaxNumPhotonsPerStep(MaxNumPhotons);
theCerenkovProcess->SetTrackSecondariesFirst(true);
// Boundary model (UNIFIED OR GLISUR (OLD GEANT3)) For now only GEANT3
G4OpticalSurfaceModel themodel = unified;
theBoundaryProcess->SetModel(themodel);
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
@@ -44,6 +44,8 @@
#include "UltraPrimaryGeneratorAction.hh"
#include "UltraDetectorConstruction.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4RunManager.hh"
#include "G4Event.hh"
#include "G4GeneralParticleSource.hh"
+63 -7
View File
@@ -1,13 +1,69 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(amsEcal)
set(name amsEcal)
project(${name})
find_package(Geant4 REQUIRED)
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
#
include(${Geant4_USE_FILE})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${Geant4_INCLUDE_DIR})
file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
#----------------------------------------------------------------------------
# Find AIDA (optional package)
#
find_package(AIDA QUIET)
if(AIDA_FOUND)
message(STATUS "G4 Examples: AIDA found. --> amsEcal example with AIDA enabled.")
# Uncomment this line if suitable (some customization may be needed)
add_definitions(-DG4ANALYSIS_USE)
endif()
add_executable(${name} EXCLUDE_FROM_ALL ${name}.cc ${sources})
target_link_libraries(${name} ${Geant4_LIBRARIES})
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR}
${AIDA_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(amsEcal amsEcal.cc ${sources} ${headers})
target_link_libraries(amsEcal ${Geant4_LIBRARIES} ${AIDA_LIBRARIES} )
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build amsEcal. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(amsEcal_SCRIPTS
geantino.mac mips.mac rndmSeed.mac run0.mac run1.mac run1.out run2.mac vis.mac
)
foreach(_script ${amsEcal_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS amsEcal DESTINATION bin)
+12
View File
@@ -15,6 +15,18 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
28-11-12 G.Cosmo (amsEcal-V09-05-03)
- Fixed cases of variable shadowing.
06-11-12 L.Pandola (amsEcal-V09-05-02)
- Fixed syntax in the CMakeLists.txt.
26-10-12 L.Pandola (amsEcal-V09-05-01)
- Replace CMakeLists.txt to deal with UI/VIS.
11-10-12 G.Cosmo (amsEcal-V09-05-00)
- Explicit inclusion of units and constants headers.
09-11-10 M.Asai (amsEcal-V09-03-02)
- Fix AIDA file option.
+1 -2
View File
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: amsEcal.cc,v 1.3 2010-05-22 21:36:46 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorConstruction.hh,v 1.7 2009-07-24 13:02:02 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorMessenger.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventAction.hh,v 1.5 2009-08-29 08:48:30 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.2 2009-07-24 13:02:02 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.3 2009-07-24 13:02:02 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoMessenger.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandard.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.5 2009-08-29 08:48:30 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingAction.hh,v 1.8 2009-09-18 17:34:54 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingVerbose.hh,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: TrackingAction.hh,v 1.1 2009-04-24 09:11:18 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+59 -33
View File
@@ -4,7 +4,7 @@
############################################
*************************************************************
Geant4 version Name: geant4-09-05-ref-00 (2-December-2011)
Geant4 version Name: geant4-09-06-ref-00 (30-November-2012)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -14,18 +14,45 @@
***** Table : Nb of materials = 4 *****
Material: Lead density: 10.976 g/cm3 RadL: 5.803 mm Nucl.Int.Length: 18.881 cm Imean: 823.000 eV
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.20 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.20 g/mole
---> Isotope: 204 Z = 82 N = 204 A = 203.97 g/mole abundance: 1.40 %
---> Isotope: 206 Z = 82 N = 206 A = 205.97 g/mole abundance: 24.10 %
---> Isotope: 207 Z = 82 N = 207 A = 206.98 g/mole abundance: 22.10 %
---> Isotope: 208 Z = 82 N = 208 A = 207.98 g/mole abundance: 52.40 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
Material: Scintillator density: 1.032 g/cm3 RadL: 42.438 cm Nucl.Int.Length: 70.748 cm Imean: 65.944 eV
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 92.24 % ElmAbundance 50.00 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 7.76 % ElmAbundance 50.00 %
---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole
---> Isotope: C12 Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 %
---> Isotope: C13 Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 %
ElmMassFraction: 92.24 % ElmAbundance 50.00 %
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 %
---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 %
ElmMassFraction: 7.76 % ElmAbundance 50.00 %
Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.904 m Imean: 85.703 eV temperature: 273.15 K pressure: 1.00 atm
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole
---> Isotope: N14 Z = 7 N = 14 A = 14.00 g/mole abundance: 99.63 %
---> Isotope: N15 Z = 7 N = 15 A = 15.00 g/mole abundance: 0.37 %
ElmMassFraction: 70.00 % ElmAbundance 72.71 %
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O17 Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O18 Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 %
ElmMassFraction: 30.00 % ElmAbundance 27.29 %
Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 114334693.470 pc Imean: 19.200 eV temperature: 2.73 K pressure: 0.00 atm
---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole
---> Isotope: 1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 %
---> Isotope: 2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 %
ElmMassFraction: 100.00 % ElmAbundance 100.00 %
/run/verbose 2
@@ -155,7 +182,7 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 10000
User=17.12s Real=17.51s Sys=0.24s
User=18.31s Real=19.97s Sys=0.29s
-------------------------------------------------------------
---> The calorimeter is 9 Modules
@@ -178,44 +205,43 @@ Run Summary
visible Energy (rms/mean) total Energy (rms/mean)
layer 0: 800.14 keV +- 1.536 MeV (1.9e+02 %) 9.2471 MeV +- 5.839 MeV ( 63 %)
layer 1: 785.47 keV +- 1.591 MeV (2e+02 %) 8.1561 MeV +- 5.585 MeV ( 68 %)
layer 2: 801.34 keV +- 1.74 MeV (2.2e+02 %) 8.6174 MeV +- 6.1 MeV ( 71 %)
layer 3: 769.12 keV +- 1.361 MeV (1.8e+02 %) 8.1327 MeV +- 5.054 MeV ( 62 %)
layer 4: 797.3 keV +- 1.426 MeV (1.8e+02 %) 8.5695 MeV +- 5.303 MeV ( 62 %)
layer 5: 787.74 keV +- 1.645 MeV (2.1e+02 %) 8.1899 MeV +- 5.369 MeV ( 66 %)
layer 6: 786.4 keV +- 1.345 MeV (1.7e+02 %) 8.5076 MeV +- 5.454 MeV ( 64 %)
layer 7: 790.54 keV +- 1.386 MeV (1.8e+02 %) 8.1485 MeV +- 5.094 MeV ( 63 %)
layer 8: 790.94 keV +- 1.554 MeV (2e+02 %) 8.4708 MeV +- 5.342 MeV ( 63 %)
layer 9: 829.96 keV +- 1.862 MeV (2.2e+02 %) 8.1562 MeV +- 5.114 MeV ( 63 %)
layer 10: 805.95 keV +- 1.621 MeV (2e+02 %) 8.5114 MeV +- 5.022 MeV ( 59 %)
layer 11: 783.97 keV +- 1.37 MeV (1.7e+02 %) 8.1999 MeV +- 5.361 MeV ( 65 %)
layer 12: 800.65 keV +- 1.617 MeV (2e+02 %) 8.4945 MeV +- 5.142 MeV ( 61 %)
layer 13: 792.25 keV +- 1.497 MeV (1.9e+02 %) 8.1632 MeV +- 4.953 MeV ( 61 %)
layer 14: 815.19 keV +- 1.757 MeV (2.2e+02 %) 7.6397 MeV +- 4.689 MeV ( 61 %)
layer 15: 789.77 keV +- 1.266 MeV (1.6e+02 %) 8.9897 MeV +- 5.402 MeV ( 60 %)
layer 16: 789.46 keV +- 1.323 MeV (1.7e+02 %) 8.4932 MeV +- 5.422 MeV ( 64 %)
layer 17: 769.15 keV +- 989.4 keV (1.3e+02 %) 7.4501 MeV +- 5.154 MeV ( 69 %)
layer 0: 812.91 keV +- 2.088 MeV (2.6e+02 %) 9.3025 MeV +- 6.182 MeV ( 66 %)
layer 1: 784.7 keV +- 1.493 MeV (1.9e+02 %) 8.2351 MeV +- 5.543 MeV ( 67 %)
layer 2: 772.26 keV +- 1.416 MeV (1.8e+02 %) 8.5294 MeV +- 5.269 MeV ( 62 %)
layer 3: 785.92 keV +- 1.78 MeV (2.3e+02 %) 8.2092 MeV +- 5.384 MeV ( 66 %)
layer 4: 807.95 keV +- 1.943 MeV (2.4e+02 %) 8.512 MeV +- 5.384 MeV ( 63 %)
layer 5: 799.2 keV +- 1.932 MeV (2.4e+02 %) 8.1386 MeV +- 5.136 MeV ( 63 %)
layer 6: 792.36 keV +- 1.598 MeV (2e+02 %) 8.4777 MeV +- 5.053 MeV ( 60 %)
layer 7: 789.57 keV +- 1.578 MeV (2e+02 %) 8.1608 MeV +- 5.363 MeV ( 66 %)
layer 8: 773.02 keV +- 1.1 MeV (1.4e+02 %) 8.5272 MeV +- 5.169 MeV ( 61 %)
layer 9: 779.56 keV +- 1.31 MeV (1.7e+02 %) 8.0245 MeV +- 4.694 MeV ( 58 %)
layer 10: 813.87 keV +- 2.092 MeV (2.6e+02 %) 8.4058 MeV +- 4.985 MeV ( 59 %)
layer 11: 768.9 keV +- 952.3 keV (1.2e+02 %) 8.0339 MeV +- 4.413 MeV ( 55 %)
layer 12: 772.47 keV +- 1.393 MeV (1.8e+02 %) 8.4505 MeV +- 5.143 MeV ( 61 %)
layer 13: 783.43 keV +- 1.438 MeV (1.8e+02 %) 8.0515 MeV +- 4.712 MeV ( 59 %)
layer 14: 767.97 keV +- 1.119 MeV (1.5e+02 %) 7.5708 MeV +- 4.762 MeV ( 63 %)
layer 15: 781.28 keV +- 1.352 MeV (1.7e+02 %) 8.9746 MeV +- 4.986 MeV ( 56 %)
layer 16: 780.05 keV +- 1.361 MeV (1.7e+02 %) 8.4043 MeV +- 5.033 MeV ( 60 %)
layer 17: 804.8 keV +- 1.783 MeV (2.2e+02 %) 7.4745 MeV +- 4.959 MeV ( 66 %)
total calor : 14.285 MeV +- 6.413 MeV ( 45 %) 150.14 MeV +- 23.56 MeV ( 16 %)
total calor : 14.17 MeV +- 6.653 MeV ( 47 %) 149.48 MeV +- 21.48 MeV ( 14 %)
------------------------------------------------------------
Leakage : 849.86 MeV +- 23.56 MeV
Eleak/Ebeam = 85 % ( forward =84.9 %; backward =0.0286 %; lateral =0.0181 %)
Leakage : 850.52 MeV +- 21.48 MeV
Eleak/Ebeam =85.1 % ( forward =85.1 % backward = 0 % lateral = 0 %)
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 519805653, 999216543
Current couple of seeds = 1419903579, 1364644369
----------------------------------------
G4 kernel has come to Quit state.
UserDetectorConstruction deleted.
UserPhysicsList deleted.
UserRunAction deleted.
UserPrimaryGenerator deleted.
G4 kernel has come to Quit state.
EventManager deleted.
UImanager deleted.
Units table cleared.
StateManager deleted.
RunManagerKernel is deleted.
RunManager is deleting.
RunManager is deleted.
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorConstruction.cc,v 1.12 2010-05-22 21:36:46 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -32,6 +31,8 @@
#include "DetectorConstruction.hh"
#include "DetectorMessenger.hh"
#include "G4SystemOfUnits.hh"
#include "G4PhysicalConstants.hh"
#include "G4Material.hh"
#include "G4Tubs.hh"
#include "G4Box.hh"
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorMessenger.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+2 -2
View File
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventAction.cc,v 1.9 2010-06-06 06:14:58 perl Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,6 +35,7 @@
#include "EventActionMessenger.hh"
#include "HistoManager.hh"
#include "G4SystemOfUnits.hh"
#include "G4Event.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventActionMessenger.cc,v 1.2 2009-07-24 13:02:02 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.cc,v 1.5 2010-11-09 23:34:21 asaim Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoMessenger.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,13 +23,13 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandard.cc,v 1.2 2009-05-06 18:39:32 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysListEmStandard.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
+2 -2
View File
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -34,6 +33,7 @@
#include "PhysListEmStandard.hh"
#include "G4SystemOfUnits.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmStandardPhysics_option1.hh"
#include "G4EmStandardPhysics_option2.hh"
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -35,6 +34,7 @@
#include "DetectorConstruction.hh"
#include "HistoManager.hh"
#include "G4SystemOfUnits.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+3 -4
View File
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.cc,v 1.8 2009-09-18 17:34:54 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -352,9 +351,9 @@ void RunAction::CreateFilePixels()
G4int n1pxl = detector->GetN1Pixels();
G4int n2pxl = detector->GetN2Pixels();
G4int n1shift = detector->GetN1Shift();
G4int nbEvents = G4RunManager::GetRunManager()->GetCurrentRun()
G4int noEvents = G4RunManager::GetRunManager()->GetCurrentRun()
->GetNumberOfEventToBeProcessed();
File << nbEvents << " " << n1pxl << " " << n2pxl << " " << n1shift
File << noEvents << " " << n1pxl << " " << n2pxl << " " << n1shift
<< G4endl;
}
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingAction.cc,v 1.9 2009-09-18 17:34:54 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SteppingVerbose.cc,v 1.1 2009-04-16 11:05:40 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: TrackingAction.cc,v 1.1 2009-04-24 09:11:18 maire Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -38,6 +37,7 @@
#include "EventAction.hh"
#include "HistoManager.hh"
#include "G4PhysicalConstants.hh"
#include "G4Track.hh"
#include "G4Positron.hh"
@@ -0,0 +1,38 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
set(name Brachy)
project(${name})
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
#
include(${Geant4_USE_FILE})
#----------------------------------------------------------------------------
# Locate sources and headers for this project
# NB: headers are included so they will show up in IDEs
#
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${Geant4_INCLUDE_DIR})
# Setup include directory for this project
file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(${name} EXCLUDE_FROM_ALL ${name}.cc ${sources})
target_link_libraries(${name} ${Geant4_LIBRARIES})
+10 -4
View File
@@ -9,19 +9,25 @@ $Id: History,v 1.35 2010-11-29 10:56:53 cirrone Exp $
Category History file
---------------------
12.10.2012 - L. Pandola; tag brachy-V09-05-01
Added a CMakeLists.txt file
11.10.2012 - G. Cosmo; tag brachy-V09-05-00
Explicit inclusion of units and constants headers.
16.09.2011 - S. Guatelli; tag brachy-V09-04-01
14.09.2011 - S. Guatelli; G4 Analysis module substitutes the analysis
done with PI-AIDA. macro.C added.
Done with PI-AIDA. macro.C added.
02.09.2011 - S. Guatelli; scoring mesh introduced.
Sensitive detector and ReadOutGeometry components deleted.
29.11.2010 - G.A.P. Cirrone; tag brachy-V09-03-05
Compilation warnigs removed
Compilation warnigs removed.
26.11.2010 - G.A.P. Cirrone & S. Guatelli; tag brachy-V09-03-04
General code review
General code review.
25.11.2010 -- J.Allison; tag brachy-V09-03-03
Cleaned up use of G4UIExecutive.
@@ -30,7 +36,7 @@ $Id: History,v 1.35 2010-11-29 10:56:53 cirrone Exp $
Fixed compilation error for a missing obsolete include file
03.06.2010 -- Joseph Perl; tag brachy-V09-03-01
Updated vis usage
Updated vis usage.
01.06.2010 -- G.A.P. Cirrone; tag brachy-V09-03-00
G4UIExecutiveand minor revisions
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyDetectorConstructionI.hh,v 1.5 2006-06-29 15:47:13 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ****************************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyDetectorConstructionIr.hh,v 1.5 2006-06-29 15:47:16 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ****************************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyDetectorConstructionLeipzig.hh,v 1.5 2006-06-29 15:47:19 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// ************************************************
@@ -30,8 +30,7 @@
// * *
// *****************************************
//
// $Id: BrachyDetectorMessenger.hh,v 1.7 2006-06-29 15:47:22 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
#ifndef BrachyDetectorMessenger_h
@@ -25,8 +25,7 @@
//
// Code developed by: Susanna Guatelli
//
// $Id: BrachyFactory.hh,v 1.6 2006-06-29 15:47:30 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// **********************************
// * *
@@ -34,8 +34,7 @@
// S.Guatelli
//
//
// $Id: BrachyFactoryI.hh,v 1.7 2006-06-29 15:47:33 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// --------------------------------------------------------------
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyFactoryIr.hh,v 1.6 2006-06-29 15:47:36 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// **********************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyFactoryLeipzig.hh,v 1.6 2006-06-29 15:47:39 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// **********************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyMaterial.hh,v 1.7 2006-06-29 15:47:42 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// **********************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyPhysicsList.hh,v 1.9 2006-11-15 10:02:17 guatelli Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Code review: MGP, 5 November 2006 (still to be completed)
//
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyPrimaryGeneratorAction.hh,v 1.12 2006-06-29 15:47:54 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ********************************************
// * *
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyPrimaryGeneratorActionI.hh,v 1.6 2006-06-29 15:47:57 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
//
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.7 2006-06-29 15:47:59 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// *************************************************
// * *
@@ -30,8 +30,7 @@
// * *
// ***********************************************
//
// $Id: BrachyPrimaryGeneratorMessenger.hh,v 1.2 2006-06-29 15:48:02 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
#ifndef BrachyPrimaryGeneratorMessenger_h
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: BrachyRunAction.hh,v 1.11 2006-06-29 15:48:04 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
//
@@ -49,7 +49,7 @@ public:
public:
// store a quantity into a file
void DumpQuantityToFile(G4String & psName, G4String & fileName, G4String & option);
void DumpQuantityToFile(const G4String & psName, const G4String & fileName, const G4String & option);
};
#endif
@@ -37,6 +37,7 @@
// * *
// ****************************************
//
#include "G4SystemOfUnits.hh"
#include "G4CSGSolid.hh"
#include "G4MaterialPropertyVector.hh"
#include "G4SDManager.hh"
@@ -36,10 +36,10 @@
// * *
// ****************************************
//
// $Id: BrachyDetectorConstructionI.cc,v 1.9 2006-06-29 15:48:11 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "BrachyDetectorConstructionI.hh"
#include "G4CSGSolid.hh"
#include "G4Sphere.hh"
@@ -37,10 +37,10 @@
// * *
// ****************************************
//
// $Id: BrachyDetectorConstructionIr.cc,v 1.10 2006-06-29 15:48:13 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "BrachyDetectorConstructionIr.hh"
#include "G4Sphere.hh"
#include "G4RunManager.hh"
@@ -38,11 +38,11 @@
// *******************************************
//
//
// $Id: BrachyDetectorConstructionLeipzig.cc,v 1.10 2006-06-29 15:48:16 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "BrachyDetectorConstructionLeipzig.hh"
#include "G4CSGSolid.hh"
#include "G4Sphere.hh"
@@ -34,8 +34,7 @@
// *********************************
//
//
// $Id: BrachyDetectorMessenger.cc,v 1.12 2006-06-29 15:48:18 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -34,8 +34,7 @@
// * *
// *******************************
//
// $Id: BrachyFactory.cc,v 1.7 2006-06-29 15:48:23 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Factory of brachytherapic sources
//
@@ -32,8 +32,7 @@
// * *
// *******************************
//
// $Id: BrachyFactoryI.cc,v 1.6 2006-06-29 15:48:26 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "BrachyFactoryI.hh"
#include "BrachyPrimaryGeneratorActionI.hh"
@@ -32,8 +32,7 @@
// * *
// *******************************
//
// $Id: BrachyFactoryIr.cc,v 1.6 2006-06-29 15:48:29 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "BrachyFactoryIr.hh"
@@ -32,8 +32,7 @@
// * *
// *******************************
//
// $Id: BrachyFactoryLeipzig.cc,v 1.6 2006-06-29 15:48:31 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
@@ -32,15 +32,16 @@
// * *
// *******************************
//
// $Id: BrachyMaterial.cc,v 1.7 2006-06-29 15:48:33 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "Randomize.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4MaterialTable.hh"
#include "G4MaterialPropertiesTable.hh"
#include "G4MaterialPropertyVector.hh"
#include "globals.hh"
#include "G4MaterialTable.hh"
#include "Randomize.hh"
#include "G4RunManager.hh"
#include "G4Element.hh"
#include "G4ElementTable.hh"
@@ -35,11 +35,11 @@
// * *
// **********************************
//
// $Id: BrachyPhysicsList.cc,v 1.15 2010-11-24 15:56:19 cirrone Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "BrachyPhysicsList.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProductionCutsTable.hh"
#include "G4ProcessManager.hh"
@@ -37,8 +37,7 @@
// * *
// ********************************************
//
// $Id: BrachyPrimaryGeneratorAction.cc,v 1.19 2009-02-23 17:34:26 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "globals.hh"
#include "BrachyPrimaryGeneratorAction.hh"
@@ -37,16 +37,15 @@
// * *
// ********************************************
//
// $Id: BrachyPrimaryGeneratorActionI.cc,v 1.10 2006-06-29 15:48:48 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "BrachyPrimaryGeneratorActionI.hh"
#include "globals.hh"
#include "G4ParticleTable.hh"
#include "Randomize.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
//#include "G4IonTable.hh"
#include "G4UImanager.hh"
#include "G4RunManager.hh"
@@ -37,16 +37,15 @@
// * *
// ********************************************
//
// $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.11 2006-06-29 15:48:51 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "BrachyPrimaryGeneratorActionIr.hh"
#include "globals.hh"
#include "G4ParticleTable.hh"
#include "Randomize.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
//#include "G4IonTable.hh"
#include "G4UImanager.hh"
#include "G4RunManager.hh"
@@ -34,8 +34,7 @@
// *****************************************
//
//
// $Id: BrachyPrimaryGeneratorMessenger.cc,v 1.3 2006-06-29 15:48:54 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
@@ -38,8 +38,7 @@
// * *
// *******************************
//
// $Id: BrachyRunAction.cc,v 1.18 2006-06-29 15:48:57 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#include "BrachyRunAction.hh"
@@ -31,16 +31,17 @@
Original code from geant4/examples/extended/runAndEvent/RE03, by M. Asai
*/
#include <map>
#include <fstream>
#include "BrachyUserScoreWriter.hh"
#include "G4SystemOfUnits.hh"
#include "BrachyAnalysis.hh"
#include "G4MultiFunctionalDetector.hh"
#include "G4SDParticleFilter.hh"
#include "G4VPrimitiveScorer.hh"
#include "G4VScoringMesh.hh"
#include <map>
#include <fstream>
// The default output is
// voxelX, voxelY, voxelZ, edep
// The BrachyUserScoreWriter allows to change the format of the output file.
@@ -56,7 +57,7 @@ BrachyUserScoreWriter::BrachyUserScoreWriter(): G4VScoreWriter()
BrachyUserScoreWriter::~BrachyUserScoreWriter()
{;}
void BrachyUserScoreWriter::DumpQuantityToFile(G4String & psName, G4String & fileName, G4String & option)
void BrachyUserScoreWriter::DumpQuantityToFile(const G4String & psName, const G4String & fileName, const G4String & option)
{
if(verboseLevel > 0) {
G4cout << "BrachyUserScorer-defined DumpQuantityToFile() method is invoked."
@@ -0,0 +1,79 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(CompositeCalorimeter)
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
# Setup include directory for this project
#
include(${Geant4_USE_FILE})
if(NOT AIDA_FOUND)
message(STATUS "G4 Examples: AIDA package not found. --> CompositeCalorimeter example disabled")
return()
else()
add_definitions(-DG4ANALYSIS_USE)
endif()
include_directories(${PROJECT_SOURCE_DIR}/include ${AIDA_INCLUDE_DIR})
#----------------------------------------------------------------------------
# Locate sources and headers for this project
# NB: headers are included so they will show up in IDEs
#
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(CompositeCalorimeter CompositeCalorimeter.cc ${sources} ${headers})
target_link_libraries(CompositeCalorimeter ${Geant4_LIBRARIES} ${AIDA_LIBRARIES})
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build CompositeCalorimeter. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(EXAMPLECOMPOSITECALORIMETER_SCRIPTS
gui.mac
test.g4mac
vis.mac
icons.mac
)
foreach(_script ${EXAMPLECOMPOSITECALORIMETER_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
#----------------------------------------------------------------------------
# For internal Geant4 use - but has no effect if you build this
# example standalone
#
add_custom_target(ExampleCompositeCalorimeter DEPENDS CompositeCalorimeter)
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS CompositeCalorimeter DESTINATION bin)
@@ -33,9 +33,7 @@
#include "CCalRunAction.hh"
#include "CCalPrimaryGeneratorAction.hh"
#include "LHEP.hh"
#include "QGSP.hh"
#include "QGSP_BIC_EMY.hh"
#include "G4PhysListFactory.hh"
#include "G4RunManager.hh"
@@ -58,12 +56,8 @@ int main(int argc,char** argv) {
G4RunManager * runManager = new G4RunManager;
runManager->SetUserInitialization(new CCalDetectorConstruction);
//***LOOKHERE*** CHOOSE THE PHYSICS LIST.
// runManager->SetUserInitialization(new LHEP); // LHEP
// runManager->SetUserInitialization(new QGSP); // QGSP
// runManager->SetUserInitialization(new QGSC); // QGSC
runManager->SetUserInitialization(new QGSP_BIC_EMY); // QGSP_BIC_EMY
//***endLOOKHERE***
G4PhysListFactory factory;
runManager->SetUserInitialization(factory.ReferencePhysList());
////////////////////////////
// User action classes. //
@@ -8,9 +8,30 @@ $Id: History,v 1.37 2010-11-18 19:46:38 allison Exp $
Example History file
---------------------
02.11.2012 - L.Garnier Tag (ccal-V09-05-05)
- Fix CMakeFile.txt, gui.mac and icons.mac. Now ok for cmake
02.11.2012 - L.Garnier Tag (ccal-V09-05-04)
- Add icons.mac
12.10.2012 - A. Dotti (ccal-V09-05-03)
- Adding use of AIDA in CMake
- Removing unused variable (compilation warning)
11.10.2012 - G. Cosmo (ccal-V09-05-02)
- Explicit inclusion of units and constants headers.
11.10.2012 - A. Dotti (ccal-V09-05-01)
- Fixed compilation error due to inclusion of deprecated/to-be-removed physics
lists: QGSP.hh; use PhysListFactory to set physics list.
- Adding CMakeLists.txt file.
07.08.2012 - A.Ribon (ccal-V09-05-00)
- Fixed crashes due to high global times converted to integers values.
(bug #1337).
17.01.2011 - G.A.P.Cirrone (ccal-V09-04-00)
- Physics lists updated
- Physics lists updated.
18.11.2010 - J.Allison (ccal-V09-03-02)
- Improve comment line about GUI menu bar.
@@ -19,7 +40,7 @@ $Id: History,v 1.37 2010-11-18 19:46:38 allison Exp $
- Inroduced G4UIExecutive.
04.06.2010 - J.Perl (ccal-V09-03-00)
- Updated vis usage
- Updated vis usage.
12.11.2009 - A.Ribon (ccal-V09-02-01)
- Use QGSP_BIC_EMY as default Physics List to test the
@@ -32,3 +32,6 @@
/gui/addButton numEvents 50 "/run/beamOn 50"
/gui/addButton numEvents 100 "/run/beamOn 100"
#
#Add an icon toolbar
/control/execute icons.mac
@@ -0,0 +1,26 @@
#
# This file permits to customize, with commands,
# the icon menu bar of the G4UIQt sessions not yet implemented other UI drivers (geant4-09-05-ref-09)
# It has no effect with G4UIterminal.
# open/save icons
/gui/addIcon "Open macro file" open /control/execute
/gui/addIcon "Save viewer state" save /vis/viewer/save
# Cursors style icons
/gui/addIcon "Move" move
/gui/addIcon "Pick" pick
/gui/addIcon "Zoom out" zoom_out
/gui/addIcon "Zoom in" zoom_in
/gui/addIcon "Rotate" rotate
# Surface Style icons
# Surface Style icons
/gui/addIcon "Hidden line removal" hidden_line_removal
/gui/addIcon "Hidden line and hidden surface removal" hidden_line_and_surface_removal
/gui/addIcon "Surfaces" solid
/gui/addIcon "Wireframe" wireframe
# Perspective/Ortho icons
/gui/addIcon "Perspective" perspective
/gui/addIcon "Orthographic" ortho
@@ -46,8 +46,9 @@
#include "CCalSensitiveConfiguration.hh"
#include "CCalEcalOrganization.hh"
#include "CCalHcalOrganization.hh"
#include "G4SDManager.hh"
#include "G4SystemOfUnits.hh"
#include "G4SDManager.hh"
#include "G4FieldManager.hh"
#include "G4ChordFinder.hh"
#include "G4Mag_UsualEqRhs.hh"
@@ -155,22 +156,22 @@ G4VPhysicalVolume* CCalDetectorConstruction::Construct() {
G4VPhysicalVolume* volume = testBeamHCal96->PhysicalVolume(0);
//Addsenistive detector types
G4bool result;
//G4bool result;
G4int sensitive;
sensitive = CCalSensitiveConfiguration::getInstance()->
getSensitiveFlag("HadronCalorimeter");
if (sensitive>0) result = CCalSensAssign::getInstance()->
if (sensitive>0) /*result =*/ CCalSensAssign::getInstance()->
addCaloSD("HadronCalorimeter", new CCalHcalOrganization);
sensitive = CCalSensitiveConfiguration::getInstance()->
getSensitiveFlag("CrystalMatrixModule");
if (sensitive>0) result = CCalSensAssign::getInstance()->
if (sensitive>0) /*result =*/ CCalSensAssign::getInstance()->
addCaloSD("CrystalMatrix", new CCalEcalOrganization);
//Assign the sensitive detectors
result = CCalSensAssign::getInstance()->assign();
/*result =*/ CCalSensAssign::getInstance()->assign();
//Create the stacking manager required by Calorimeter
result = CCalSensAssign::getInstance()->stackingAction();
/*result =*/ CCalSensAssign::getInstance()->stackingAction();
return volume;
@@ -37,6 +37,7 @@
#include "CCalSteppingAction.hh"
#include "G4ios.hh"
#include "G4SystemOfUnits.hh"
#include "G4Event.hh"
#include "G4SDManager.hh"
#include "G4HCofThisEvent.hh"
@@ -29,6 +29,8 @@
// electromagnetic calorimeter
///////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include "CCalG4Ecal.hh"
#include "CCalMaterialFactory.hh"
@@ -36,8 +38,8 @@
#include "CCalSensitiveDetectors.hh"
#include "CCalutils.hh"
#include <cmath>
#include "G4SystemOfUnits.hh"
#include "G4ThreeVector.hh"
#include "G4Box.hh"
#include "G4Trd.hh"
@@ -37,6 +37,7 @@
#include "CCalutils.hh"
#include "G4SystemOfUnits.hh"
#include "G4LogicalVolume.hh"
#include "G4ThreeVector.hh"
#include "G4PVPlacement.hh"

Some files were not shown because too many files have changed in this diff Show More