Import Geant4 5.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:57:27 +02:00
parent 330b82b769
commit 37fff30d2e
5733 changed files with 263867 additions and 74574 deletions
@@ -0,0 +1,86 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CellScoreComposer.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// ----------------------------------------------------------------------
// Class G4CellScoreComposer
//
// Class description:
// This class will be created for every cell standard
// scoring should be applied. It does the actual scoring.
// GetStandardCellScoreValues() delivers the struct
// G4CellScoreValues does calculations based on the
// sums of scores and delivers the results in
// G4CellScoreValues.
//
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4CellScoreComposer_hh
#define G4CellScoreComposer_hh G4CellScoreComposer_hh
#include "G4CellScoreValues.hh"
class G4Step;
class G4CellScoreComposer {
public: // with description
G4CellScoreComposer();
~G4CellScoreComposer();
void EstimatorCalculation(const G4Step &step);
// get values for estimators based on
// track length
void TrackEnters();
// to be called if a track enters the cell
void NewTrackPopedUp();
// to be caled if the cell popultion is increased
void SetCollisionWeight(G4double weight);
// to be called for every collision
// in the cell with the weight of the colliding particle
void SetImportnace(G4double importance);
// informs G4CellScoreComposer about the importance of the cell
const G4CellScoreValues &GetStandardCellScoreValues() const;
// return scores in G4CellScoreValues
private:
mutable G4CellScoreValues fSCScoreValues;
};
G4std::ostream& operator<<(G4std::ostream &out,
const G4CellScoreComposer &ps);
#endif
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CellScoreValues.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// ----------------------------------------------------------------------
// Class G4CellScoreValues
//
// Class description:
// This struct holds sums of scores for standard scoring.
//
//
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4CellScoreValues_hh
#define G4CellScoreValues_hh G4CellScoreValues_hh
#include "globals.hh"
struct G4CellScoreValues {
G4double fSumSL;
G4double fSumSLW;
G4double fSumSLW_v;
G4double fSumSLWE;
G4double fSumSLWE_v;
G4int fSumTracksEntering;
G4int fSumPopulation;
G4int fSumCollisions;
G4double fSumCollisionsWeight;
G4double fNumberWeightedEnergy;
G4double fFluxWeightedEnergy;
G4double fAverageTrackWeight;
G4double fImportance;
};
#endif
@@ -0,0 +1,73 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4CellStoreScorer.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// ----------------------------------------------------------------------
// Class G4CellStoreScorer
//
// Class description:
//
// This class invokes a G4VCellScorer according to the current
// step:
// - pre and post step are in a volume -> chose post gCell (cell)
// and call ScoreInVolume
// - cross boundary between gCells (cells)
// call ScoreAnExtingStep on the pre cell
// and ScoreAnEnteringStep on the post cell.
//
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
//
#ifndef G4CellStoreScorer_hh
#define G4CellStoreScorer_hh G4CellStoreScorer_hh
#include "G4VScorer.hh"
class G4VCellScorerStore;
class G4Step;
class G4GeometryCellStep;
class G4GeometryCell;
class G4CellStoreScorer : public G4VScorer
{
public: // with description
explicit G4CellStoreScorer(G4VCellScorerStore &csc);
// take a G4VCellScorerStore created by the user to score
// the cells contained in it.
virtual ~G4CellStoreScorer();
virtual void Score(const G4Step &aStep, const G4GeometryCellStep &aPStep);
// called to score a track for every step
private:
G4VCellScorerStore &fCellScorerStore;
};
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: G4CollectionNameVector.hh,v 1.2 2001/07/11 09:58:42 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4CollectionNameVector_H
@@ -22,7 +22,7 @@
//
//
// $Id: G4HCtable.hh,v 1.6 2001/07/11 09:58:42 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4HCtable_H
@@ -22,7 +22,7 @@
//
//
// $Id: G4SDManager.hh,v 1.4 2001/07/11 09:58:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4SDManager_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4SDStructure.hh,v 1.7 2001/07/13 15:00:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4SDStructure_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4SDmessenger.hh,v 1.4 2001/07/11 09:58:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4SDmessenger_h
@@ -22,7 +22,7 @@
//
//
// $Id: G4SensitiveVolumeList.hh,v 1.6 2001/07/11 09:58:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4SensitiveVolumeList.icc,v 1.5 2001/07/11 09:58:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
// -----------------------------------------------------------
// Inline functions of GEANT 4 class header file.
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4TrackLogger.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// ----------------------------------------------------------------------
// Class G4TrackLogger
//
// Class description:
//
// This class loggs every track via it's id. It may tell if
// a track has been logged. The loggs are cleared when ever
// the object has been informed about a new event.
//
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
//
#ifndef G4TrackLogger_hh
#define G4TrackLogger_hh G4TrackLogger_hh
#include "globals.hh"
#include "g4std/set"
class G4TrackLogger {
public:
G4TrackLogger();
~G4TrackLogger();
void SetEventID(G4int id);
// inform the object about the event number
// if the event number changes the loggs are cleared.
G4bool FirstEnterance(G4int trid);
// returns true if the track is new to this event.
typedef G4std::set<G4int > TrackIDsSet;
// log for the track ids.
private:
G4int fPreviousEventID;
TrackIDsSet fTrackIDsSet;
};
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: G4VReadOutGeometry.hh,v 1.3 2001/07/11 09:58:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSensitiveDetector.hh,v 1.7 2001/07/13 15:00:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-01 $
// GEANT4 tag $Name: geant4-05-00 $
//
#ifndef G4VSensitiveDetector_h