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
@@ -0,0 +1,80 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(xray_fluorescence)
#----------------------------------------------------------------------------
# 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. --> xray_fluorescence 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 --> xray_fluorescence example with AIDA disabled.")
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(XrayFluo XrayFluo.cc ${sources} ${headers})
target_link_libraries(XrayFluo ${Geant4_LIBRARIES} ${AIDA_LIBRARIES} )
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build xray_fluorescence. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(xray_fluorescence_SCRIPTS
initInter.mac livermore.mac vis.mac
)
foreach(_script ${xray_fluorescence_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(xray_fluorescence DEPENDS XrayFluo)
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS XrayFluo DESTINATION bin)
+31 -9
View File
@@ -19,24 +19,46 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
28-11-2012 G. Cosmo Tag: XrayFluo-V09-05-06
- Fixed cases of variable shadowing.
06-11-2012 L. Pandola Tag: XrayFluo-V09-05-05
- Fix syntax in CMakeLists.txt
26-10-2012 L. Pandola Tag: XrayFluo-V09-05-04
- Replace CMakeLists.txt to deal with UI/VIS
12-10-2012 G. Cosmo Tag: XrayFluo-V09-05-03
- Explicit inclusion of units and constants headers.
13-06-2012 G. Cosmo Tag: XrayFluo-V09-05-02
- Fixed compilation warnings for extra parenthesis from MacOSX/clang.
15-12-2011 P. Mato Tag: XrayFluo-V09-05-01
- XrayFluoNistMaterials.cc
Fixed the induced memory corruption problem only intermittently visible
on MacOSX. The vectors to define materials needed to be cleared properly.
08-12-2011 P. Mato Tag: XrayFluo-V09-05-00
- Added CMakeLists.txt file.
25-11-2011 G.Folger Tag: XrayFluo-V09-04-05
fix compilation error on Windows.
- Fix compilation error on Windows.
16-11-2011 G.Folger Tag: XrayFluo-V09-04-04
migrate to new G4Exception
- Migrated to new G4Exception.
03-11-2011 A.Mantero Tag: XrayFluo-V09-04-03
update for README file
- Update for README file.
03-11-2011 A.Mantero Tag: XrayFluo-V09-04-02
Updates for 9.5
- Migrated PhysicsList to all pre-built PL generating deexcitation products
- Added example for macro (livermore.mac)
- removed old macros
- Removed XrayFluoPhysListEmStandardFLUO.cc
- Migrated PhysicsList to all pre-built PL generating deexcitation products.
- Added example for macro (livermore.mac).
- removed old macros.
- Removed XrayFluoPhysListEmStandardFLUO.cc.
27-03-2011 A.Mantero Tag: XrayFluo-V09-04-01
Re commit of the previous tag.
- Re commit of the previous tag.
07-02-2011 A.Mantero Tag: XrayFluo-V09-04-00
- migrated physicslist to standard EM+Fluo (with PIXE)
@@ -40,6 +40,8 @@
#ifndef FluoDataSet_hh
#define FluoDataSet_hh 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4DataVector.hh"
#include "G4VEMDataSet.hh"
@@ -54,12 +56,12 @@ public:
G4DataVector* points,
G4DataVector* values,
const G4VDataSetAlgorithm* interpolation,
G4double unitE = MeV, G4double unitData = barn);
G4double unitE = CLHEP::MeV, G4double unitData = CLHEP::barn);
XrayFluoDataSet(G4int Z,
const G4String& dataFile,
const G4VDataSetAlgorithm* interpolation,
G4double unitE = MeV, G4double unitData = barn);
G4double unitE = CLHEP::MeV, G4double unitData = CLHEP::barn);
~XrayFluoDataSet();
@@ -121,6 +123,4 @@ private:
};
#endif
@@ -41,14 +41,16 @@
#ifndef XrayFluoDetectorConstruction_hh
#define XrayFluoDetectorConstruction_hh 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4RotationMatrix.hh"
#include "G4VUserDetectorConstruction.hh"
#include "G4Navigator.hh"
#include "XrayFluoSiLiDetectorType.hh"
#include "XrayFluoHPGeDetectorType.hh"
#include "XrayFluoSD.hh"
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "G4RotationMatrix.hh"
#include "G4Navigator.hh"
#include "XrayFluoGeometry.hh"
class G4Box;
@@ -324,32 +326,26 @@ inline void XrayFluoDetectorConstruction::ComputeApparateParameters()
if (phaseSpaceFlag) {
WorldSizeZ = 10 *m;
WorldSizeXY = 10 *m;
WorldSizeZ = 10 *CLHEP::m;
WorldSizeXY = 10 *CLHEP::m;
}
else {
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness+windowThickness;//change!
G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
G4cout << "DeviceThickness(cm): "<< DeviceThickness/CLHEP::cm << G4endl;
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/CLHEP::cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/CLHEP::cm << G4endl;
WorldSizeZ = (2 * (DistDe +1.4142 *(std::max(std::max(DeviceThickness,DeviceSizeY), DeviceSizeX))))+5*m;
WorldSizeXY = 2 * (DistDe +1.4142 *Dia1SizeXY)+5*m;
WorldSizeZ = (2 * (DistDe +1.4142 *(std::max(std::max(DeviceThickness,DeviceSizeY), DeviceSizeX))))+5*CLHEP::m;
WorldSizeXY = 2 * (DistDe +1.4142 *Dia1SizeXY)+5*CLHEP::m;
}
}
#endif
@@ -39,13 +39,14 @@
#ifndef XrayFluoMercuryDetectorConstruction_hh
#define XrayFluoMercuryDetectorConstruction_hh 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VUserDetectorConstruction.hh"
#include "G4RotationMatrix.hh"
#include "XrayFluoSiLiDetectorType.hh"
#include "XrayFluoHPGeDetectorType.hh"
#include "XrayFluoSD.hh"
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "G4RotationMatrix.hh"
class G4Box;
class G4Tubs;
@@ -84,7 +85,7 @@ public:
inline void SetOribitHeight(G4double size)
{distDe = size;};
inline void SetLatitude(G4double lat)
{ThetaHPGe = 180.* deg - lat;};
{ThetaHPGe = 180.* CLHEP::deg - lat;};
void PrintApparateParameters();
@@ -250,7 +251,7 @@ public:
//Inclinaton of the orbit respect Mercury respect the equator (latitude)
G4double GetOrbitInclination() {return 180 * deg - ThetaHPGe;};
G4double GetOrbitInclination() {return 180 * CLHEP::deg - ThetaHPGe;};
G4double GetOrbitDistance() {return distDe;};
G4double GetOpticAperture() {return opticAperture;};
@@ -274,29 +275,23 @@ inline void XrayFluoMercuryDetectorConstruction::ComputeApparateParameters()
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness;
///G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
///G4cout << "DeviceThickness(cm): "<< DeviceThickness/CLHEP::cm << G4endl;
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
screenSizeXY = opticDia;
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/CLHEP::cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/CLHEP::cm << G4endl;
//*********************************************************************
//** Astronomical distances reduce by a factor 10^-7 due to G4 Bug **
//*********************************************************************
WorldSizeZ = 2 * mercurySunDistance ;
WorldSizeXY = (2 * distDe) + 2000 * km ;
WorldSizeXY = (2 * distDe) + 2000 * CLHEP::km ;
//WorldSizeZ = WorldSizeXY;
}
#endif
@@ -39,16 +39,17 @@
#ifndef XrayFluoPlaneDetectorConstruction_hh
#define XrayFluoPlaneDetectorConstruction_hh 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4RotationMatrix.hh"
#include "G4VUserDetectorConstruction.hh"
#include "XrayFluoSiLiDetectorType.hh"
#include "XrayFluoHPGeDetectorType.hh"
#include "XrayFluoSD.hh"
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "G4RotationMatrix.hh"
class G4Box;
//class G4Tubs;
class G4Sphere;
class G4LogicalVolume;
class G4VPhysicalVolume;
@@ -56,9 +57,6 @@ class G4Material;
class XrayFluoPlaneDetectorMessenger;
class XrayFluoNistMaterials;
//class XrayFluoSD;
//class XrayFluoVDetectorType;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class XrayFluoPlaneDetectorConstruction : public G4VUserDetectorConstruction
@@ -284,25 +282,19 @@ inline void XrayFluoPlaneDetectorConstruction::ComputeApparateParameters()
DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness;
G4cout << "DeviceThickness(cm): "<< DeviceThickness/cm << G4endl;
G4cout << "DeviceThickness(cm): "<< DeviceThickness/CLHEP::cm << G4endl;
DeviceSizeY =(NbOfPixelRows * std::max(ContactSizeXY,PixelSizeXY));
DeviceSizeX =(NbOfPixelColumns * std::max(ContactSizeXY,PixelSizeXY));
screenSizeXY = 2 * DeviceThickness + std::max(DeviceSizeY,DeviceSizeX);
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/cm << G4endl;
G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/CLHEP::cm <<G4endl;
G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/CLHEP::cm << G4endl;
WorldSizeZ = (2 * (DistDe + DeviceThickness + screenThickness)) + 5*m;
WorldSizeXY = (2 * (planeSizeXY))+ 5*m;
WorldSizeZ = (2 * (DistDe + DeviceThickness + screenThickness)) + 5*CLHEP::m;
WorldSizeXY = (2 * (planeSizeXY))+ 5*CLHEP::m;
}
#endif
@@ -40,6 +40,8 @@
#include "XrayFluoDetectorConstruction.hh"
#include "XrayFluoDetectorMessenger.hh"
#include "XrayFluoSD.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Material.hh"
#include "G4ThreeVector.hh"
#include "G4Box.hh"
@@ -663,7 +665,7 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate()
G4VisAttributes * yellow= new G4VisAttributes( G4Colour(255/255. ,255/255. ,51/255. ));
G4VisAttributes * red= new G4VisAttributes( G4Colour(255/255. , 0/255. , 0/255. ));
G4VisAttributes * blue= new G4VisAttributes( G4Colour(0/255. , 0/255. , 255/255. ));
G4VisAttributes * gray= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * grayc= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * lightGray= new G4VisAttributes( G4Colour(178/255. , 178/255. , 178/255. ));
G4VisAttributes * green= new G4VisAttributes( G4Colour(0/255. , 255/255. , 0/255. ));
@@ -674,8 +676,8 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate()
blue->SetVisibility(true);
green->SetVisibility(true);
green->SetForceSolid(true);
gray->SetVisibility(true);
gray->SetForceSolid(true);
grayc->SetVisibility(true);
grayc->SetForceSolid(true);
lightGray->SetVisibility(true);
lightGray->SetForceSolid(true);
simpleBoxVisAtt->SetVisibility(true);
@@ -698,7 +700,7 @@ G4VPhysicalVolume* XrayFluoDetectorConstruction::ConstructApparate()
if (sampleGranularity) logicGrain->SetVisAttributes(gray);
if (sampleGranularity) logicGrain->SetVisAttributes(grayc);
//always return the physical World
@@ -46,6 +46,7 @@
#include "XrayFluoAnalysisManager.hh"
#include "G4SystemOfUnits.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4HCofThisEvent.hh"
@@ -35,14 +35,16 @@
//
// -------------------------------------------------------------------
#include <fstream>
#include <sstream>
#include "XrayFluoHPGeDetectorType.hh"
#include "XrayFluoDataSet.hh"
#include "G4SystemOfUnits.hh"
#include "G4UnitsTable.hh"
#include "G4DataVector.hh"
#include "G4LogLogInterpolation.hh"
#include "G4ios.hh"
#include <fstream>
#include <sstream>
#include "G4UnitsTable.hh"
#include "Randomize.hh"
@@ -267,7 +269,7 @@ void XrayFluoHPGeDetectorType::LoadResponseData(G4String fileName)
}
G4double a = 0;
G4int k = 1;
G4int s = 0;
G4int q = 0;
G4int Z = 1;
G4DataVector* energies = new G4DataVector;
@@ -279,7 +281,7 @@ void XrayFluoHPGeDetectorType::LoadResponseData(G4String fileName)
G4int nColumns = 2;
if (a == -1)
{
if (s == 0)
if (q == 0)
{
// End of a data set
energyMap[Z] = energies;
@@ -289,10 +291,10 @@ void XrayFluoHPGeDetectorType::LoadResponseData(G4String fileName)
data = new G4DataVector;
Z++;
}
s++;
if (s == nColumns)
q++;
if (q == nColumns)
{
s = 0;
q = 0;
}
}
else if (a == -2)
@@ -110,7 +110,7 @@ G4bool XrayFluoHPGeSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist)
// else {G4cout << " il deposito proviene da: Rayleugh" << G4endl;}
if ((edep==0.)) return false;
if (edep==0.) return false;
// G4cout << " edep = " << edep << G4endl;
@@ -37,6 +37,9 @@
#include "XrayFluoMercuryDetectorConstruction.hh"
#include "XrayFluoMercuryDetectorMessenger.hh"
#include "XrayFluoSD.hh"
#include "XrayFluoNistMaterials.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Material.hh"
#include "G4ThreeVector.hh"
#include "G4Box.hh"
@@ -52,8 +55,6 @@
#include "G4ios.hh"
#include "G4PVReplica.hh"
#include "G4UserLimits.hh"
#include "XrayFluoNistMaterials.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -444,7 +445,7 @@ G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::ConstructApparate()
G4VisAttributes * yellow= new G4VisAttributes( G4Colour(255/255. ,255/255. ,51/255. ));
G4VisAttributes * red= new G4VisAttributes( G4Colour(255/255. , 0/255. , 0/255. ));
G4VisAttributes * blue= new G4VisAttributes( G4Colour(0/255. , 0/255. , 255/255. ));
G4VisAttributes * gray= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * grayc= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * darkGray= new G4VisAttributes( G4Colour(95/255. , 95/255. , 95/255. ));
//G4VisAttributes * green= new G4VisAttributes( G4Colour(25/255. , 255/255. , 25/255. ));
yellow->SetVisibility(true);
@@ -452,8 +453,8 @@ G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::ConstructApparate()
red->SetVisibility(true);
red->SetForceSolid(true);
blue->SetVisibility(true);
gray->SetVisibility(true);
gray->SetForceSolid(true);
grayc->SetVisibility(true);
grayc->SetForceSolid(true);
simpleBoxVisAtt->SetVisibility(true);
//logicWorld->SetVisAttributes (simpleBoxVisAtt);
@@ -467,10 +468,10 @@ G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::ConstructApparate()
logicScreen->SetVisAttributes(red);
logicOhmicNeg->SetVisAttributes(yellow);
logicOhmicPos->SetVisAttributes(yellow);
logicOptic->SetVisAttributes(gray);
logicOptic->SetVisAttributes(grayc);
if (mercuryGranularity) logicGrain->SetVisAttributes(gray);
if (mercuryGranularity) logicGrain->SetVisAttributes(grayc);
//always return the physical World
@@ -36,17 +36,19 @@
// -------------------------------------------------------------------
#include "XrayFluoMercuryPrimaryGeneratorAction.hh"
#include "G4DataVector.hh"
#include "XrayFluoMercuryDetectorConstruction.hh"
#include "XrayFluoMercuryPrimaryGeneratorMessenger.hh"
#include "XrayFluoRunAction.hh"
#include "XrayFluoAnalysisManager.hh"
#include "XrayFluoDataSet.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4DataVector.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "Randomize.hh"
#include "XrayFluoAnalysisManager.hh"
#include "XrayFluoDataSet.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -36,6 +36,8 @@
// -------------------------------------------------------------------
#include "XrayFluoNistMaterials.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
XrayFluoNistMaterials::XrayFluoNistMaterials()
{ CreateMaterials();}
@@ -202,6 +204,8 @@ void XrayFluoNistMaterials::CreateMaterials()
// Define Icelandic Basalt main components 0029.PP.0035 sample
density = 3*g/cm3;
G4Material* icelandicBasaltMain= nistMan->ConstructNewMaterial("IceBasaltMain",elements, fractionMass, density);
elements.clear();
fractionMass.clear();
// Define Icelandic Basalt traces components 0029.PP.0035 sample
density = 3*g/cm3;
@@ -263,7 +267,7 @@ void XrayFluoNistMaterials::CreateMaterials()
G4Material* doloriteMain = nistMan->ConstructNewMaterial("Dolorite", elements, fractionMass, density);
elements.clear();
natoms.clear();
fractionMass.clear();
// define traces in dolorite 0055.PP.0038 sample
@@ -36,9 +36,10 @@
// -------------------------------------------------------------------
#include "XrayFluoNormalization.hh"
#include "XrayFluoDataSet.hh"
#include "G4SystemOfUnits.hh"
#include "G4VDataSetAlgorithm.hh"
#include "G4LogLogInterpolation.hh"
#include "XrayFluoDataSet.hh"
XrayFluoNormalization::XrayFluoNormalization()
@@ -34,6 +34,7 @@
#include "XrayFluoPhysicsList.hh"
#include "XrayFluoPhysicsListMessenger.hh"
#include "G4SystemOfUnits.hh"
#include "G4LossTableManager.hh"
#include "G4EmProcessOptions.hh"
#include "G4ProcessManager.hh"
@@ -37,6 +37,9 @@
#include "XrayFluoPlaneDetectorConstruction.hh"
#include "XrayFluoPlaneDetectorMessenger.hh"
#include "XrayFluoSD.hh"
#include "XrayFluoNistMaterials.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Material.hh"
#include "G4ThreeVector.hh"
#include "G4Box.hh"
@@ -51,8 +54,6 @@
#include "G4ios.hh"
#include "G4PVReplica.hh"
#include "G4UserLimits.hh"
#include "XrayFluoNistMaterials.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -524,15 +525,15 @@ G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::ConstructApparate()
G4VisAttributes * yellow= new G4VisAttributes( G4Colour(255/255. ,255/255. ,51/255. ));
G4VisAttributes * red= new G4VisAttributes( G4Colour(255/255. , 0/255. , 0/255. ));
G4VisAttributes * blue= new G4VisAttributes( G4Colour(0/255. , 0/255. , 255/255. ));
G4VisAttributes * gray= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * grayc= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
G4VisAttributes * lightGray= new G4VisAttributes( G4Colour(178/255. , 178/255. , 178/255. ));
yellow->SetVisibility(true);
yellow->SetForceSolid(true);
red->SetVisibility(true);
red->SetForceSolid(true);
blue->SetVisibility(true);
gray->SetVisibility(true);
gray->SetForceSolid(true);
grayc->SetVisibility(true);
grayc->SetForceSolid(true);
lightGray->SetVisibility(true);
lightGray->SetForceSolid(true);
simpleBoxVisAtt->SetVisibility(true);
@@ -543,13 +544,13 @@ G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::ConstructApparate()
logicPlane->SetVisAttributes(lightGray);
logicScreen->SetVisAttributes(gray);
logicScreen->SetVisAttributes(grayc);
logicOhmicNeg->SetVisAttributes(yellow);
logicOhmicPos->SetVisAttributes(yellow);
if (planeGranularity) logicGrain->SetVisAttributes(gray);
if (planeGranularity) logicGrain->SetVisAttributes(grayc);
//always return the physical World
@@ -36,17 +36,20 @@
// -------------------------------------------------------------------
#include "XrayFluoPlanePrimaryGeneratorAction.hh"
#include "G4DataVector.hh"
#include "XrayFluoPlaneDetectorConstruction.hh"
#include "XrayFluoPlanePrimaryGeneratorMessenger.hh"
#include "XrayFluoRunAction.hh"
#include "XrayFluoAnalysisManager.hh"
#include "XrayFluoDataSet.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4UnitsTable.hh"
#include "G4DataVector.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "Randomize.hh"
#include "XrayFluoAnalysisManager.hh"
#include "XrayFluoDataSet.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -36,10 +36,11 @@
// -------------------------------------------------------------------
#include "XrayFluoPrimaryGeneratorAction.hh"
//#include "G4DataVector.hh"
#include "XrayFluoDetectorConstruction.hh"
#include "XrayFluoPrimaryGeneratorMessenger.hh"
#include "XrayFluoRunAction.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
@@ -147,7 +147,7 @@ G4bool XrayFluoSD::ProcessHits(G4Step* aStep,G4TouchableHistory*)
G4cout << " la particella creata ha energia cinetica: " << secondEnergy << G4endl;
*/
if ((edep==0.)) return false;
if (edep==0.) return false;
//G4cout << " edep = " << edep << G4endl;
@@ -35,17 +35,18 @@
//
// -------------------------------------------------------------------
#include <fstream>
#include <sstream>
#include "XrayFluoSiLiDetectorType.hh"
#include "XrayFluoDataSet.hh"
#include "G4SystemOfUnits.hh"
#include "G4UnitsTable.hh"
#include "G4DataVector.hh"
#include "G4LogLogInterpolation.hh"
#include "G4ios.hh"
#include <fstream>
#include <sstream>
#include "G4UnitsTable.hh"
#include "Randomize.hh"
XrayFluoSiLiDetectorType::XrayFluoSiLiDetectorType():
detectorMaterial("SiLi"),efficiencySet(0)
{
@@ -331,7 +332,7 @@ void XrayFluoSiLiDetectorType::LoadResponseData(G4String fileName)
}
G4double a = 0;
G4int k = 1;
G4int s = 0;
G4int q = 0;
G4int Z = 1;
G4DataVector* energies = new G4DataVector;
@@ -343,7 +344,7 @@ void XrayFluoSiLiDetectorType::LoadResponseData(G4String fileName)
G4int nColumns = 2;
if (a == -1)
{
if (s == 0)
if (q == 0)
{
// End of a data set
energyMap[Z] = energies;
@@ -353,10 +354,10 @@ void XrayFluoSiLiDetectorType::LoadResponseData(G4String fileName)
data = new G4DataVector;
Z++;
}
s++;
if (s == nColumns)
q++;
if (q == nColumns)
{
s = 0;
q = 0;
}
}
else if (a == -2)