Import Geant4 5.0.0 source tree
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4CellScorer.hh,v 1.1 2002/10/28 10:06:00 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4CellScorer
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This class does standard scoring for a cell. The cell may be a
|
||||
// physical volume or replica in the mass or a parallel geometry.
|
||||
// One object of this class per cell is used.
|
||||
// See intercoms/include/G4VCellScorer.hh
|
||||
//
|
||||
|
||||
// Author: Michael Dressel (Michael.Dressel@cern.ch)
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#ifndef G4CellScorer_hh
|
||||
#define G4CellScorer_hh G4CellScorer_hh
|
||||
|
||||
#include "G4VCellScorer.hh"
|
||||
#include "G4TrackLogger.hh"
|
||||
#include "G4CellScoreComposer.hh"
|
||||
#include "G4CellScoreValues.hh"
|
||||
|
||||
class G4CellScorer : public G4VCellScorer {
|
||||
public: // with description
|
||||
|
||||
G4CellScorer();
|
||||
|
||||
virtual ~G4CellScorer();
|
||||
|
||||
virtual void ScoreAnExitingStep(const G4Step &aStep,
|
||||
const G4GeometryCell &gCell);
|
||||
// to update scores related with the exiting of a cell
|
||||
|
||||
virtual void ScoreAnEnteringStep(const G4Step &aStep,
|
||||
const G4GeometryCell &gCell);
|
||||
// to update scores related with the entering of a cell
|
||||
|
||||
virtual void ScoreAnInVolumeStep(const G4Step &aStep,
|
||||
const G4GeometryCell &gCell);
|
||||
// to update scores related with the stepping inside the cell
|
||||
|
||||
const G4CellScoreComposer &GetCellScoreComposer() const;
|
||||
// return the G4CellScoreComposer
|
||||
|
||||
const G4CellScoreValues &GetCellScoreValues() const;
|
||||
// return scores in G4CellScoreValues
|
||||
|
||||
private:
|
||||
void ScorePopulation(const G4GeometryCell &post_gCell,
|
||||
const G4Step &aStep);
|
||||
G4CellScoreComposer fCellScoreComposer;
|
||||
G4TrackLogger fTrackLogger;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4CellScorerStore.hh,v 1.1 2002/10/28 10:06:00 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4CellScorerStore
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This class stores pointers to G4CellScorer. Objects of G4CellScorer for
|
||||
// each cell may be created the first time a cell is hit: therefore
|
||||
// SetAutoScorerCreate() has to be called before the run starts.
|
||||
// Alternative the store may be filled with pointers to G4CellScorer
|
||||
// before the run. In this case only the cells for which a G4CellScorer
|
||||
// exists are scored.
|
||||
//
|
||||
|
||||
// Author: Michael Dressel (Michael.Dressel@cern.ch)
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#ifndef G4CellScorerStore_hh
|
||||
#define G4CellScorerStore_hh G4CellScorerStore_hh
|
||||
|
||||
#include "g4std/map"
|
||||
#include "G4GeometryCell.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VCellScorerStore.hh"
|
||||
#include "G4GeometryCellComp.hh"
|
||||
|
||||
class G4CellScorer;
|
||||
|
||||
typedef G4std::map<G4GeometryCell, G4CellScorer *, G4GeometryCellComp> G4MapGeometryCellCellScorer;
|
||||
|
||||
class G4CellScorerStore : public G4VCellScorerStore {
|
||||
public: // with description
|
||||
|
||||
G4CellScorerStore();
|
||||
|
||||
virtual ~G4CellScorerStore();
|
||||
|
||||
virtual G4VCellScorer *GetCellScore(const G4GeometryCell &gCell);
|
||||
// return the current cell scorer
|
||||
|
||||
void SetAutoScorerCreate();
|
||||
// if this function is called cell scorers will be created
|
||||
// automatically for a cell the first time a track hits the cell
|
||||
|
||||
G4CellScorer *AddCellScorer(const G4GeometryCell &gCell);
|
||||
// add a G4CellScorer for the given cell, needed if
|
||||
// SetAutoScorerCreate is not called. This way the user
|
||||
// may specify to score only for the given cells.
|
||||
|
||||
|
||||
G4CellScorer *AddCellScorer(G4VPhysicalVolume &vol, G4int repnum = 0);
|
||||
// same functionallity as above only that the cell is specified
|
||||
// by the physical volume and a replica number
|
||||
|
||||
|
||||
const G4MapGeometryCellCellScorer &GetMapGeometryCellCellScorer() const ;
|
||||
// return the map of GeometryCell to the G4CellScorer
|
||||
|
||||
void DeleteAllScorers();
|
||||
|
||||
private:
|
||||
G4MapGeometryCellCellScorer fMapGeometryCellCellScorer;
|
||||
G4bool fAutoCreate;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ClassificationOfNewTrack.hh,v 1.5 2001/07/19 00:14:15 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4EvManMessenger.hh,v 1.4 2001/07/11 09:58:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4EvManMessenger_h
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Event.hh,v 1.5 2001/07/13 15:01:45 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4Event.hh,v 1.6 2002/08/13 18:17:53 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4Event_h
|
||||
@@ -83,6 +83,10 @@ class G4Event
|
||||
// TrajectoryContainer
|
||||
G4TrajectoryContainer * trajectoryContainer;
|
||||
|
||||
// Boolean flag which shall be set to true if the event is aborted and
|
||||
// thus the containing information is not to be used.
|
||||
G4bool eventAborted;
|
||||
|
||||
public:
|
||||
inline void SetEventID(G4int i)
|
||||
{ eventID = i; }
|
||||
@@ -92,6 +96,8 @@ class G4Event
|
||||
{ DC = value; }
|
||||
inline void SetTrajectoryContainer(G4TrajectoryContainer*value)
|
||||
{ trajectoryContainer = value; }
|
||||
inline void SetEventAborted()
|
||||
{ eventAborted = true; }
|
||||
public: // with description
|
||||
inline G4int GetEventID() const
|
||||
{ return eventID; }
|
||||
@@ -137,6 +143,9 @@ class G4Event
|
||||
// (hits collections of this event), G4DCofThisEvent (digi collections
|
||||
// of this event), and G4TrajectoryContainer (trajectory coonainer),
|
||||
// respectively.
|
||||
inline G4bool IsAborted() const { return eventAborted; }
|
||||
// Return a boolean which indicates the event has been aborted and thus
|
||||
// it should not be used for analysis.
|
||||
};
|
||||
|
||||
extern G4Allocator<G4Event> anEventAllocator;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4EventManager.hh,v 1.9 2001/07/19 00:14:15 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// $Id: G4GeneralParticleSource.hh,v 1.7 2001/10/19 16:48:28 flei Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Class Description:
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// $Id: G4GeneralParticleSourceMessenger.hh,v 1.8 2002/02/26 16:34:04 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Class Description:
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4HEPEvtInterface.hh,v 1.6 2001/07/11 09:58:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4HEPEvtInterface_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4HEPEvtParticle.hh,v 1.5 2001/07/13 15:01:45 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
|
||||
// ====================================================================
|
||||
//
|
||||
// G4HepMCAsciiReader.hh
|
||||
// $Id: G4HepMCAsciiReader.hh,v 1.1 2002/11/18 22:43:13 asaim Exp $
|
||||
//
|
||||
// ====================================================================
|
||||
#ifndef G4_HEPMC_ASCII_READER_H
|
||||
#define G4_HEPMC_ASCII_READER_H
|
||||
|
||||
#include "g4std/fstream"
|
||||
#include "G4HepMCInterface.hh"
|
||||
#include "CLHEP/HepMC/ReadHepMC.h"
|
||||
|
||||
class G4HepMCAsciiReaderMessenger;
|
||||
|
||||
class G4HepMCAsciiReader : public G4HepMCInterface {
|
||||
protected:
|
||||
G4String filename;
|
||||
G4std::ifstream from;
|
||||
|
||||
G4int verbose;
|
||||
G4HepMCAsciiReaderMessenger* messenger;
|
||||
|
||||
virtual HepMC::GenEvent* GenerateHepMCEvent();
|
||||
|
||||
public:
|
||||
G4HepMCAsciiReader();
|
||||
~G4HepMCAsciiReader();
|
||||
|
||||
// set/get methods
|
||||
void SetFileName(G4String name);
|
||||
G4String GetFileName() const;
|
||||
|
||||
void SetVerboseLevel(G4int i);
|
||||
G4int GetVerboseLevel() const;
|
||||
|
||||
// methods...
|
||||
void Initialize();
|
||||
};
|
||||
|
||||
// ====================================================================
|
||||
// inline functions
|
||||
// ====================================================================
|
||||
|
||||
inline void G4HepMCAsciiReader::SetFileName(G4String name)
|
||||
{
|
||||
filename= name;
|
||||
}
|
||||
|
||||
inline G4String G4HepMCAsciiReader::GetFileName() const
|
||||
{
|
||||
return filename;
|
||||
}
|
||||
|
||||
inline void G4HepMCAsciiReader::SetVerboseLevel(G4int i)
|
||||
{
|
||||
verbose= i;
|
||||
}
|
||||
|
||||
inline G4int G4HepMCAsciiReader::GetVerboseLevel() const
|
||||
{
|
||||
return verbose;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
|
||||
// ====================================================================
|
||||
//
|
||||
// G4HepMCAsciiReaderMessenger.hh
|
||||
// $Id: G4HepMCAsciiReaderMessenger.hh,v 1.1 2002/11/18 22:43:13 asaim Exp $
|
||||
//
|
||||
// ====================================================================
|
||||
#ifndef G4_HEPMC_ASCII_READER_MESSENGER_H
|
||||
#define G4_HEPMC_ASCII_READER_MESSENGER_H
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class G4HepMCAsciiReader;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
|
||||
class G4HepMCAsciiReaderMessenger : public G4UImessenger {
|
||||
private:
|
||||
G4HepMCAsciiReader* gen;
|
||||
|
||||
G4UIdirectory* dir;
|
||||
G4UIcmdWithAnInteger* verbose;
|
||||
G4UIcmdWithAString* open;
|
||||
|
||||
public:
|
||||
G4HepMCAsciiReaderMessenger(G4HepMCAsciiReader* agen);
|
||||
~G4HepMCAsciiReaderMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand* command, G4String newValues);
|
||||
G4String GetCurrentValue(G4UIcommand* command);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
|
||||
// ====================================================================
|
||||
//
|
||||
// G4HepMCInterface.hh
|
||||
// $Id: G4HepMCInterface.hh,v 1.1 2002/11/18 22:43:13 asaim Exp $
|
||||
//
|
||||
// A base class for primary generation via HepMC object.
|
||||
// This class is derived from G4VPrimaryGenerator.
|
||||
//
|
||||
// ====================================================================
|
||||
#ifndef G4_HEPMC_INTERFACE_H
|
||||
#define G4_HEPMC_INTERFACE_H
|
||||
|
||||
#include "G4VPrimaryGenerator.hh"
|
||||
#include "CLHEP/HepMC/GenEvent.h"
|
||||
|
||||
class G4HepMCInterface : public G4VPrimaryGenerator {
|
||||
protected:
|
||||
// Note that the life of HepMC event object must be handled by users.
|
||||
// In the default implementation, a current HepMC event will be
|
||||
// deleted at GeneratePrimaryVertex() in the next event.
|
||||
HepMC::GenEvent* hepmcEvent; // (care for single event case only)
|
||||
|
||||
// We have to take care for the position of primaries because
|
||||
// primary vertices outside the world voulme give rise to G4Execption.
|
||||
// If the default implementation is not adequate, an alternative
|
||||
// can be implemented in your own class.
|
||||
virtual G4bool CheckVertexInsideWorld(const G4ThreeVector& pos) const;
|
||||
|
||||
// service method for conversion from HepMC::GenEvent to G4Event
|
||||
void HepMC2G4(const HepMC::GenEvent* hepmcevt, G4Event* g4event);
|
||||
|
||||
// Implement this method in his/her own concrete class.
|
||||
// An empty event will be created in default.
|
||||
virtual HepMC::GenEvent* GenerateHepMCEvent();
|
||||
|
||||
public:
|
||||
G4HepMCInterface();
|
||||
virtual ~G4HepMCInterface();
|
||||
|
||||
// set/get methods
|
||||
HepMC::GenEvent* GetHepMCGenEvent() const;
|
||||
|
||||
// The default behavior is that a single HepMC event generated by
|
||||
// GenerateHepMCEvent() will be converted to G4Event through HepMC2G4().
|
||||
virtual void GeneratePrimaryVertex(G4Event* anEvent);
|
||||
};
|
||||
|
||||
// ====================================================================
|
||||
// inline functions
|
||||
// ====================================================================
|
||||
|
||||
inline HepMC::GenEvent* G4HepMCInterface::GetHepMCGenEvent() const
|
||||
{
|
||||
return hepmcEvent;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleGun.hh,v 1.7 2001/11/20 23:21:41 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4ParticleGun_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleGunMessenger.hh,v 1.7 2002/02/26 16:34:04 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryParticle.hh,v 1.10 2001/07/13 15:01:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryTransformer.hh,v 1.6 2001/07/18 01:25:44 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4PromaryTransformer_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PrimaryVertex.hh,v 1.7 2001/07/13 15:01:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ScoreTable.hh,v 1.1 2002/10/28 10:06:01 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4ScoreTable
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This class creates a table from a given G4CellScoreStore
|
||||
// and prints it to a given output stream.
|
||||
//
|
||||
|
||||
// Author: Michael Dressel (Michael.Dressel@cern.ch)
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4ScoreTable_hh
|
||||
#define G4ScoreTable_hh G4ScoreTable_hh
|
||||
|
||||
#include "g4std/iostream"
|
||||
#include "g4std/iomanip"
|
||||
#include "g4std/vector"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4CellScorerStore.hh"
|
||||
#include "G4CellScoreValues.hh"
|
||||
class G4VIStore;
|
||||
|
||||
|
||||
class G4ScoreTable
|
||||
{
|
||||
public: // with description
|
||||
explicit G4ScoreTable(const G4VIStore *aIStore = 0);
|
||||
|
||||
~G4ScoreTable();
|
||||
|
||||
void Print(const G4MapGeometryCellCellScorer &cs,
|
||||
G4std::ostream *out = 0);
|
||||
// create the table and print it to the ouput stream.
|
||||
|
||||
void PrintHeader(G4std::ostream *out);
|
||||
// print the table header, done by the above Print() function
|
||||
|
||||
void PrintTable(const G4MapGeometryCellCellScorer &cs,
|
||||
G4std::ostream *out);
|
||||
// print the table contend, done by the above Print() function
|
||||
|
||||
G4std::string FillString(const G4std::string &name,
|
||||
char c, G4int n, G4bool back = true);
|
||||
// create a string of length n, by filling up
|
||||
// name with the char c.
|
||||
|
||||
private:
|
||||
G4ScoreTable(const G4ScoreTable &);
|
||||
G4ScoreTable &operator=(const G4ScoreTable &);
|
||||
|
||||
G4String CreateName(const G4GeometryCell &gCell);
|
||||
void PrintLine(const G4String &name,
|
||||
const G4CellScoreValues &sc_scores,
|
||||
G4std::ostream *out);
|
||||
const G4VIStore *fIStore;
|
||||
G4int FieldName;
|
||||
G4int FieldValue;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4Scorer.hh,v 1.1 2002/10/28 10:06:01 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4Scorer
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This is a simple scorer using the G4CellScorerStore and
|
||||
// G4CellStoreScorer.
|
||||
//
|
||||
|
||||
// Author: Michael Dressel (Michael.Dressel@cern.ch)
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#ifndef G4Scorer_hh
|
||||
#define G4Scorer_hh G4Scorer_hh
|
||||
|
||||
#include "G4VScorer.hh"
|
||||
#include "G4CellScorerStore.hh"
|
||||
#include "G4CellStoreScorer.hh"
|
||||
|
||||
class G4Scorer : public G4VScorer {
|
||||
public: // with description
|
||||
G4Scorer();
|
||||
|
||||
virtual ~G4Scorer();
|
||||
|
||||
virtual void Score(const G4Step &aStep, const G4GeometryCellStep &aPStep);
|
||||
// called to score a track for every step
|
||||
|
||||
const G4MapGeometryCellCellScorer &GetMapGeometryCellCellScorer() const ;
|
||||
// returns a reference to the store containing the scores
|
||||
|
||||
private:
|
||||
G4Scorer(const G4Scorer &);
|
||||
G4Scorer &operator=(const G4Scorer &);
|
||||
G4CellScorerStore fCellScorerStore;
|
||||
G4CellStoreScorer fCellStoreScorer;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StackManager.hh,v 1.9 2002/05/29 22:51:45 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4StackManager.hh,v 1.10 2002/08/24 17:36:23 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -52,9 +52,6 @@ class G4VTrajectory;
|
||||
// waiting stack, and the postpone to next event stack. The meanings
|
||||
// of each stack is descrived in the Geant4 user's manual.
|
||||
//
|
||||
// The only method the user can invoke is ReClassify(), which can
|
||||
// be used from the user's concrete class of G4UserStackingAction.
|
||||
//
|
||||
|
||||
|
||||
class G4StackManager
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4StackedTrack.hh,v 1.6 2001/07/13 15:01:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
// Last Modification : 02/Feb/96 M.Asai
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4StackingMessenger.hh,v 1.4 2001/07/11 09:58:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4StackingMessenger_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TrackStack.hh,v 1.5 2001/07/13 15:01:47 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
// Last Modification : 09/Dec/96 M.Asai
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TrajectoryContainer.hh,v 1.10 2002/06/08 20:36:18 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
// G4TrajectoryContainer
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4UserEventAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4UserStackingAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4UserStackingAction_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPrimaryGenerator.hh,v 1.6 2001/11/21 13:48:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
#ifndef G4VPrimaryGenerator_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: eventgendefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
#ifndef EventGenerator_DEBUG
|
||||
#define EventGenerator_DEBUG
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: evmandefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
|
||||
///#define G4EVENTMANAGER_DEBUG 1
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: trajectoryControl.hh,v 1.3 2001/07/11 09:58:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
////#define G4_STORE_TRAJECTORY 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user