Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4AdjointPosOnPhysVolGenerator.hh 68047 2013-03-13 14:32:59Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// Class Name: G4AdjointPosOnPhysVolGenerator
|
||||
@@ -108,15 +108,12 @@ class G4AdjointPosOnPhysVolGenerator
|
||||
//---------
|
||||
private: //attributes
|
||||
//---------
|
||||
static G4AdjointPosOnPhysVolGenerator* theInstance;
|
||||
static G4ThreadLocal G4AdjointPosOnPhysVolGenerator* theInstance;
|
||||
G4VSolid* theSolid;
|
||||
G4VPhysicalVolume* thePhysicalVolume;
|
||||
G4int NStat;
|
||||
G4double epsilon;
|
||||
|
||||
G4bool UseSphere;
|
||||
G4String ModelOfSurfaceSource;
|
||||
G4double ExtSourceRadius;
|
||||
G4double ExtSourceDx,ExtSourceDy,ExtSourceDz ;
|
||||
G4AffineTransform theTransformationFromPhysVolToWorld;
|
||||
G4double AreaOfExtSurfaceOfThePhysicalVolume;
|
||||
G4double CosThDirComparedToNormal;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4AdjointPrimaryGenerator.hh 76257 2013-11-08 11:31:00Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// Module: G4AdjointPrimaryGenerator
|
||||
@@ -60,16 +60,15 @@ class G4SingleParticleSource;
|
||||
class G4ParticleDefinition;
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class G4AdjointPrimaryGenerator
|
||||
{
|
||||
public: //constructor, destructor
|
||||
|
||||
class G4AdjointPrimaryGenerator
|
||||
{ public:
|
||||
G4AdjointPrimaryGenerator();
|
||||
~G4AdjointPrimaryGenerator();
|
||||
|
||||
public: //public methods
|
||||
|
||||
void GenerateAdjointPrimaryVertex(G4Event* anEvt,G4ParticleDefinition* adj_part,G4double E1,G4double E2);
|
||||
void GenerateFwdPrimaryVertex(G4Event* anEvt,G4ParticleDefinition* adj_part,G4double E1,G4double E2);
|
||||
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos);
|
||||
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String& volume_name);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4AdjointStackingAction.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// Class Name: G4AdjointStackingAction
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// 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 <map>
|
||||
#include "G4GeometryCell.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VCellScorerStore.hh"
|
||||
#include "G4GeometryCellComp.hh"
|
||||
|
||||
class G4CellScorer;
|
||||
|
||||
typedef std::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
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4ClassificationOfNewTrack.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4EvManMessenger.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4EvManMessenger_h
|
||||
|
||||
@@ -24,13 +24,23 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4Event.hh 69010 2013-04-15 09:34:16Z gcosmo $
|
||||
//
|
||||
//
|
||||
// class description:
|
||||
//
|
||||
// This is the class which represents an event. A G4Event is constructed and
|
||||
// deleted by G4RunManager (or its derived class). When a G4Event object is
|
||||
// passed to G4EventManager, G4Event must have one or more primary verteces
|
||||
// and primary particle(s) associated to the vertex(es) as an input of
|
||||
// simulating an event.
|
||||
// G4Event has trajectories, hits collections, and/or digi collections.
|
||||
|
||||
#ifndef G4Event_h
|
||||
#define G4Event_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "evtdefs.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include "G4PrimaryVertex.hh"
|
||||
#include "G4HCofThisEvent.hh"
|
||||
@@ -38,15 +48,6 @@
|
||||
#include "G4TrajectoryContainer.hh"
|
||||
#include "G4VUserEventInformation.hh"
|
||||
|
||||
// class description:
|
||||
//
|
||||
// This is the class which represents an event. This class is constructed and
|
||||
// deleted by G4RunManager (or its derived class). When G4Event object is passed
|
||||
// to G4EventManager, G4Event must have one or more primary vertexes and primary
|
||||
// particle(s) associated to the vertex(es) as an input of simulating an event.
|
||||
// As the consequences of simulating an event, G4Event has trajectories, hits
|
||||
// collections, and/or digi collections.
|
||||
|
||||
class G4VHitsCollection;
|
||||
class G4Event
|
||||
{
|
||||
@@ -70,7 +71,7 @@ class G4Event
|
||||
// implemented. Otherwise nothing will be drawn.
|
||||
|
||||
private:
|
||||
// These copy constructor and = operator must not be used.
|
||||
// Copy constructor and = operator must not be used.
|
||||
G4Event(const G4Event &) {;}
|
||||
G4Event& operator=(const G4Event &) { return *this; }
|
||||
|
||||
@@ -205,23 +206,17 @@ class G4Event
|
||||
}
|
||||
};
|
||||
|
||||
#if defined G4EVENT_ALLOC_EXPORT
|
||||
extern G4DLLEXPORT G4Allocator<G4Event> anEventAllocator;
|
||||
#else
|
||||
extern G4DLLIMPORT G4Allocator<G4Event> anEventAllocator;
|
||||
#endif
|
||||
extern G4EVENT_DLL G4ThreadLocal G4Allocator<G4Event> *anEventAllocator;
|
||||
|
||||
inline void* G4Event::operator new(size_t)
|
||||
{
|
||||
void* anEvent;
|
||||
anEvent = (void*)anEventAllocator.MallocSingle();
|
||||
return anEvent;
|
||||
{
|
||||
if (!anEventAllocator) anEventAllocator = new G4Allocator<G4Event>;
|
||||
return (void*)anEventAllocator->MallocSingle();
|
||||
}
|
||||
|
||||
inline void G4Event::operator delete(void* anEvent)
|
||||
{
|
||||
anEventAllocator.FreeSingle((G4Event*)anEvent);
|
||||
anEventAllocator->FreeSingle((G4Event*)anEvent);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4EventManager.hh 71031 2013-06-10 09:11:38Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -47,6 +47,7 @@ class G4EvManMessenger;
|
||||
#include "G4VTrajectory.hh"
|
||||
#include "G4TrackStatus.hh"
|
||||
class G4SDManager;
|
||||
class G4StateManager;
|
||||
#include "globals.hh"
|
||||
class G4VUserEventInformation;
|
||||
|
||||
@@ -63,7 +64,7 @@ class G4EventManager
|
||||
// This method returns the singleton pointer of G4EventManager.
|
||||
|
||||
private:
|
||||
static G4EventManager* fpEventManager;
|
||||
static G4ThreadLocal G4EventManager* fpEventManager;
|
||||
|
||||
public:
|
||||
G4EventManager();
|
||||
@@ -118,6 +119,8 @@ class G4EventManager
|
||||
G4int storetRandomNumberStatusToG4Event;
|
||||
G4String randomNumberStatusToG4Event;
|
||||
|
||||
G4StateManager* stateManager;
|
||||
|
||||
public: // with description
|
||||
inline const G4Event* GetConstCurrentEvent()
|
||||
{ return currentEvent; }
|
||||
|
||||
@@ -209,7 +209,6 @@ private:
|
||||
private:
|
||||
G4bool multiple_vertex;
|
||||
G4bool flat_sampling;
|
||||
G4double weight_change;
|
||||
G4bool normalised;
|
||||
G4int currentSourceIdx;
|
||||
G4SingleParticleSource* currentSource;
|
||||
|
||||
@@ -100,59 +100,65 @@ class G4GeneralParticleSource;
|
||||
|
||||
class G4GeneralParticleSourceMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
G4GeneralParticleSourceMessenger(G4GeneralParticleSource*);
|
||||
~G4GeneralParticleSourceMessenger();
|
||||
public:
|
||||
G4GeneralParticleSourceMessenger(G4GeneralParticleSource*);
|
||||
~G4GeneralParticleSourceMessenger();
|
||||
|
||||
void SetParticleGun(G4SingleParticleSource *fpg) { fParticleGun = fpg; } ;
|
||||
// To selecte the particle gun to be defined/modified.
|
||||
void SetNewValue(G4UIcommand *command, G4String newValues);
|
||||
// Identifies the command which has been invoked by the user, extracts the
|
||||
// parameters associated with that command (held in newValues), and uses
|
||||
// these values with the appropriate member function of G4GeneralParticleSource.
|
||||
G4String GetCurrentValue(G4UIcommand *command);
|
||||
void SetParticleGun(G4SingleParticleSource *fpg) { fParticleGun = fpg; } ;
|
||||
// Select the particle gun to be defined/modified
|
||||
|
||||
void SetNewValue(G4UIcommand *command, G4String newValues);
|
||||
// Identifies the command which has been invoked by the user, extracts the
|
||||
// parameters associated with that command (held in newValues), and uses
|
||||
// these values with the appropriate member function of G4GeneralParticleSource.
|
||||
|
||||
private:
|
||||
void IonCommand(G4String newValues);
|
||||
G4String GetCurrentValue(G4UIcommand *command);
|
||||
|
||||
private:
|
||||
G4GeneralParticleSource *fGPS;
|
||||
G4SingleParticleSource *fParticleGun;
|
||||
G4ParticleTable *particleTable;
|
||||
G4String histtype;
|
||||
private:
|
||||
void IonCommand(G4String newValues);
|
||||
void IonLvlCommand(G4String newValues);
|
||||
|
||||
private:
|
||||
G4GeneralParticleSource* fGPS;
|
||||
G4SingleParticleSource* fParticleGun;
|
||||
G4ParticleTable* particleTable;
|
||||
G4String histtype;
|
||||
|
||||
private: //commands
|
||||
G4UIdirectory *gpsDirectory;
|
||||
// multiple source control commands
|
||||
G4UIdirectory *sourceDirectory;
|
||||
G4UIcmdWithADouble *addsourceCmd;
|
||||
G4UIcmdWithoutParameter *listsourceCmd;
|
||||
G4UIcmdWithoutParameter *clearsourceCmd;
|
||||
G4UIcmdWithoutParameter *getsourceCmd;
|
||||
G4UIcmdWithAnInteger *setsourceCmd;
|
||||
G4UIcmdWithADouble *setintensityCmd;
|
||||
G4UIcmdWithAnInteger *deletesourceCmd;
|
||||
G4UIcmdWithABool *multiplevertexCmd;
|
||||
G4UIcmdWithABool *flatsamplingCmd;
|
||||
// positional commands
|
||||
G4UIdirectory *positionDirectory;
|
||||
G4UIcmdWithAString *typeCmd1;
|
||||
G4UIcmdWithAString *shapeCmd1;
|
||||
G4UIcmdWith3VectorAndUnit *centreCmd1;
|
||||
G4UIcmdWith3Vector *posrot1Cmd1;
|
||||
G4UIcmdWith3Vector *posrot2Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfyCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfzCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *radiusCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *radius0Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmarCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmayCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *paralpCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *partheCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd1;
|
||||
G4UIcmdWithAString *confineCmd1;
|
||||
private: //commands
|
||||
G4UIdirectory* gpsDirectory;
|
||||
|
||||
// multiple source control commands
|
||||
G4UIdirectory *sourceDirectory;
|
||||
G4UIcmdWithADouble *addsourceCmd;
|
||||
G4UIcmdWithoutParameter *listsourceCmd;
|
||||
G4UIcmdWithoutParameter *clearsourceCmd;
|
||||
G4UIcmdWithoutParameter *getsourceCmd;
|
||||
G4UIcmdWithAnInteger *setsourceCmd;
|
||||
G4UIcmdWithADouble *setintensityCmd;
|
||||
G4UIcmdWithAnInteger *deletesourceCmd;
|
||||
G4UIcmdWithABool *multiplevertexCmd;
|
||||
G4UIcmdWithABool *flatsamplingCmd;
|
||||
|
||||
// positional commands
|
||||
G4UIdirectory *positionDirectory;
|
||||
G4UIcmdWithAString *typeCmd1;
|
||||
G4UIcmdWithAString *shapeCmd1;
|
||||
G4UIcmdWith3VectorAndUnit *centreCmd1;
|
||||
G4UIcmdWith3Vector *posrot1Cmd1;
|
||||
G4UIcmdWith3Vector *posrot2Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfyCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *halfzCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *radiusCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *radius0Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmarCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *possigmayCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *paralpCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *partheCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd1;
|
||||
G4UIcmdWithAString *confineCmd1;
|
||||
|
||||
//old ones, will be reomved soon
|
||||
G4UIcmdWithAString *typeCmd;
|
||||
G4UIcmdWithAString *shapeCmd;
|
||||
@@ -170,22 +176,24 @@ private: //commands
|
||||
G4UIcmdWithADoubleAndUnit *paralpCmd;
|
||||
G4UIcmdWithADoubleAndUnit *partheCmd;
|
||||
G4UIcmdWithADoubleAndUnit *parphiCmd;
|
||||
G4UIcmdWithAString *confineCmd;
|
||||
// angular commands
|
||||
G4UIdirectory *angularDirectory;
|
||||
G4UIcmdWithAString *angtypeCmd1;
|
||||
G4UIcmdWith3Vector *angrot1Cmd1;
|
||||
G4UIcmdWith3Vector *angrot2Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *minthetaCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *maxthetaCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *minphiCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *maxphiCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmarCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmayCmd1;
|
||||
G4UIcmdWith3VectorAndUnit *angfocusCmd;
|
||||
G4UIcmdWithABool *useuserangaxisCmd1;
|
||||
G4UIcmdWithABool *surfnormCmd1;
|
||||
G4UIcmdWithAString *confineCmd;
|
||||
|
||||
// angular commands
|
||||
G4UIdirectory* angularDirectory;
|
||||
G4UIcmdWithAString *angtypeCmd1;
|
||||
G4UIcmdWith3Vector *angrot1Cmd1;
|
||||
G4UIcmdWith3Vector *angrot2Cmd1;
|
||||
G4UIcmdWithADoubleAndUnit *minthetaCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *maxthetaCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *minphiCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *maxphiCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmarCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *angsigmayCmd1;
|
||||
G4UIcmdWith3VectorAndUnit *angfocusCmd;
|
||||
G4UIcmdWithABool *useuserangaxisCmd1;
|
||||
G4UIcmdWithABool *surfnormCmd1;
|
||||
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWithAString *angtypeCmd;
|
||||
G4UIcmdWith3Vector *angrot1Cmd;
|
||||
@@ -199,64 +207,65 @@ private: //commands
|
||||
G4UIcmdWithADoubleAndUnit *angsigmayCmd;
|
||||
G4UIcmdWithABool *useuserangaxisCmd;
|
||||
G4UIcmdWithABool *surfnormCmd;
|
||||
// energy commands
|
||||
G4UIdirectory *energyDirectory;
|
||||
G4UIcmdWithAString *energytypeCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd1;
|
||||
G4UIcmdWithADouble *alphaCmd1;
|
||||
G4UIcmdWithADouble *tempCmd1;
|
||||
G4UIcmdWithADouble *ezeroCmd1;
|
||||
G4UIcmdWithADouble *gradientCmd1;
|
||||
G4UIcmdWithADouble *interceptCmd1;
|
||||
G4UIcmdWithADouble *arbeintCmd1;
|
||||
G4UIcmdWithoutParameter *calculateCmd1;
|
||||
G4UIcmdWithABool *energyspecCmd1;
|
||||
G4UIcmdWithABool *diffspecCmd1;
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWithAString *energytypeCmd;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd;
|
||||
G4UIcmdWithADouble *alphaCmd;
|
||||
G4UIcmdWithADouble *tempCmd;
|
||||
G4UIcmdWithADouble *ezeroCmd;
|
||||
G4UIcmdWithADouble *gradientCmd;
|
||||
G4UIcmdWithADouble *interceptCmd;
|
||||
G4UIcmdWithoutParameter *calculateCmd;
|
||||
G4UIcmdWithABool *energyspecCmd;
|
||||
G4UIcmdWithABool *diffspecCmd;
|
||||
// histogram commands
|
||||
G4UIdirectory *histDirectory;
|
||||
G4UIcmdWith3Vector *histpointCmd;
|
||||
G4UIcmdWithAString *histnameCmd;
|
||||
G4UIcmdWithAString *arbintCmd;
|
||||
G4UIcmdWithAString *resethistCmd;
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWith3Vector *histpointCmd1;
|
||||
G4UIcmdWithAString *histfileCmd1;
|
||||
G4UIcmdWithAString *histnameCmd1;
|
||||
G4UIcmdWithAString *arbintCmd1;
|
||||
G4UIcmdWithAString *resethistCmd1;
|
||||
|
||||
//
|
||||
G4UIcmdWithAnInteger *verbosityCmd;
|
||||
// energy commands
|
||||
G4UIdirectory* energyDirectory;
|
||||
G4UIcmdWithAString *energytypeCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd1;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd1;
|
||||
G4UIcmdWithADouble *alphaCmd1;
|
||||
G4UIcmdWithADouble *tempCmd1;
|
||||
G4UIcmdWithADouble *ezeroCmd1;
|
||||
G4UIcmdWithADouble *gradientCmd1;
|
||||
G4UIcmdWithADouble *interceptCmd1;
|
||||
G4UIcmdWithADouble *arbeintCmd1;
|
||||
G4UIcmdWithoutParameter *calculateCmd1;
|
||||
G4UIcmdWithABool *energyspecCmd1;
|
||||
G4UIcmdWithABool *diffspecCmd1;
|
||||
|
||||
// below are commands from G4ParticleGun
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWithAString *energytypeCmd;
|
||||
G4UIcmdWithADoubleAndUnit *eminCmd;
|
||||
G4UIcmdWithADoubleAndUnit *emaxCmd;
|
||||
G4UIcmdWithADoubleAndUnit *monoenergyCmd;
|
||||
G4UIcmdWithADoubleAndUnit *engsigmaCmd;
|
||||
G4UIcmdWithADouble *alphaCmd;
|
||||
G4UIcmdWithADouble *tempCmd;
|
||||
G4UIcmdWithADouble *ezeroCmd;
|
||||
G4UIcmdWithADouble *gradientCmd;
|
||||
G4UIcmdWithADouble *interceptCmd;
|
||||
G4UIcmdWithoutParameter *calculateCmd;
|
||||
G4UIcmdWithABool *energyspecCmd;
|
||||
G4UIcmdWithABool *diffspecCmd;
|
||||
|
||||
G4UIcommand *ionCmd;
|
||||
G4UIcmdWithAString *particleCmd;
|
||||
G4UIcmdWithADoubleAndUnit *timeCmd;
|
||||
G4UIcmdWith3Vector *polCmd;
|
||||
G4UIcmdWithAnInteger *numberCmd;
|
||||
G4UIcmdWith3VectorAndUnit *positionCmd;
|
||||
G4UIcmdWith3Vector *directionCmd;
|
||||
G4UIcmdWithADoubleAndUnit *energyCmd;
|
||||
G4UIcmdWithoutParameter *listCmd;
|
||||
// histogram commands
|
||||
G4UIdirectory *histDirectory;
|
||||
G4UIcmdWith3Vector *histpointCmd;
|
||||
G4UIcmdWithAString *histnameCmd;
|
||||
G4UIcmdWithAString *arbintCmd;
|
||||
G4UIcmdWithAString *resethistCmd;
|
||||
// old ones, will be removed soon
|
||||
G4UIcmdWith3Vector *histpointCmd1;
|
||||
G4UIcmdWithAString *histfileCmd1;
|
||||
G4UIcmdWithAString *histnameCmd1;
|
||||
G4UIcmdWithAString *arbintCmd1;
|
||||
G4UIcmdWithAString *resethistCmd1;
|
||||
|
||||
G4UIcmdWithAnInteger* verbosityCmd;
|
||||
|
||||
// Commands from G4ParticleGun
|
||||
G4UIcommand* ionCmd;
|
||||
G4UIcommand* ionLvlCmd;
|
||||
G4UIcmdWithAString* particleCmd;
|
||||
G4UIcmdWithADoubleAndUnit* timeCmd;
|
||||
G4UIcmdWith3Vector* polCmd;
|
||||
G4UIcmdWithAnInteger* numberCmd;
|
||||
G4UIcmdWith3VectorAndUnit* positionCmd;
|
||||
G4UIcmdWith3Vector* directionCmd;
|
||||
G4UIcmdWithADoubleAndUnit* energyCmd;
|
||||
G4UIcmdWithoutParameter* listCmd;
|
||||
|
||||
private: // for ion shooting
|
||||
G4bool fShootIon;
|
||||
@@ -265,6 +274,11 @@ private: //commands
|
||||
G4int fIonCharge;
|
||||
G4double fIonExciteEnergy;
|
||||
|
||||
G4bool fShootIonL;
|
||||
G4int fAtomicNumberL;
|
||||
G4int fAtomicMassL;
|
||||
G4int fIonChargeL;
|
||||
G4int fIonEnergyLevel;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,29 +24,18 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4HEPEvtInterface.hh 70215 2013-05-27 07:27:49Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef G4HEPEvtInterface_h
|
||||
#define G4HEPEvtInterface_h 1
|
||||
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
#include "globals.hh"
|
||||
#include "G4VPrimaryGenerator.hh"
|
||||
#include "G4HEPEvtParticle.hh"
|
||||
|
||||
class G4PrimaryVertex;
|
||||
class G4Event;
|
||||
|
||||
// class description:
|
||||
//
|
||||
// This is a concrete class of G4VPrimaryGenerator.
|
||||
// This class object reads an ASCII file which contains particles generated
|
||||
// This is a concrete class of G4VPrimaryGenerator.
|
||||
// This class object reads an ASCII file which contains particles generated
|
||||
// by a physics generator which supports /HEPEVT/ common block.
|
||||
//
|
||||
// The format of ASCII file must be equivalent to the follwing sample fortran
|
||||
// code.
|
||||
// The format of ASCII file must be equivalent to the following sample
|
||||
// Fortran code:
|
||||
//
|
||||
//***********************************************************
|
||||
// SUBROUTINE HEP2G4
|
||||
//*
|
||||
@@ -63,21 +52,34 @@ class G4Event;
|
||||
// WRITE(6,10)
|
||||
// > ISTHEP(IHEP),IDHEP(IHEP),JDAHEP(1,IHEP),JDAHEP(2,IHEP),
|
||||
// > PHEP(1,IHEP),PHEP(2,IHEP),PHEP(3,IHEP),PHEP(5,IHEP)
|
||||
//10 FORMAT(4I5,4(1X,D15.8))
|
||||
//10 FORMAT(I4,I10,I5,I5,4(1X,D15.8))
|
||||
// ENDDO
|
||||
//*
|
||||
// RETURN
|
||||
// END
|
||||
//
|
||||
// The position and time of the primary interaction must be set by the corresponding
|
||||
// set methods of G4VPrimaryGenerator base class, otherwise zero will be set.
|
||||
//
|
||||
// The position and time of the primary interaction must be set by the
|
||||
// corresponding set methods of G4VPrimaryGenerator base class, otherwise
|
||||
// zero will be set.
|
||||
|
||||
#ifndef G4HEPEvtInterface_h
|
||||
#define G4HEPEvtInterface_h 1
|
||||
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPrimaryGenerator.hh"
|
||||
#include "G4HEPEvtParticle.hh"
|
||||
|
||||
class G4PrimaryVertex;
|
||||
class G4Event;
|
||||
|
||||
class G4HEPEvtInterface:public G4VPrimaryGenerator
|
||||
{
|
||||
public: // with description
|
||||
G4HEPEvtInterface(char* evfile);
|
||||
G4HEPEvtInterface(G4String evfile);
|
||||
G4HEPEvtInterface(const char* evfile, G4int vl=0);
|
||||
// G4HEPEvtInterface(G4String evfile);
|
||||
// Constructors, "evfile" is the file name (with directory path).
|
||||
|
||||
public:
|
||||
@@ -86,10 +88,10 @@ class G4HEPEvtInterface:public G4VPrimaryGenerator
|
||||
void GeneratePrimaryVertex(G4Event* evt);
|
||||
|
||||
private:
|
||||
G4int vLevel;
|
||||
G4String fileName;
|
||||
std::ifstream inputFile;
|
||||
std::vector<G4HEPEvtParticle*> HPlist;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -24,23 +24,22 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4HEPEvtParticle.hh 69010 2013-04-15 09:34:16Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
// class desccription:
|
||||
//
|
||||
// This class is exclusively used by G4HEPEvtInterface.
|
||||
// It represents one particle in /HEPEVT/ list.
|
||||
|
||||
#ifndef G4HEPEvtParticle_h
|
||||
#define G4HEPEvtParticle_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "evtdefs.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include "G4PrimaryParticle.hh"
|
||||
|
||||
// class desccription:
|
||||
//
|
||||
// This class is exclusively used by G4HEPEvtInterface. This class represents
|
||||
// one particle in /HEPEVT/ list.
|
||||
|
||||
class G4HEPEvtParticle
|
||||
{
|
||||
public:
|
||||
@@ -49,7 +48,7 @@ class G4HEPEvtParticle
|
||||
|
||||
G4HEPEvtParticle();
|
||||
G4HEPEvtParticle(G4PrimaryParticle* pp,
|
||||
G4int isthep, G4int jdahep1, G4int jdahep2);
|
||||
G4int isthep, G4int jdahep1, G4int jdahep2);
|
||||
~G4HEPEvtParticle();
|
||||
|
||||
G4HEPEvtParticle & operator=(const G4HEPEvtParticle &right);
|
||||
@@ -77,24 +76,19 @@ class G4HEPEvtParticle
|
||||
{ return JDAHEP2; }
|
||||
};
|
||||
|
||||
#if defined G4EVENT_ALLOC_EXPORT
|
||||
extern G4DLLEXPORT G4Allocator<G4HEPEvtParticle> aHEPEvtParticleAllocator;
|
||||
#else
|
||||
extern G4DLLIMPORT G4Allocator<G4HEPEvtParticle> aHEPEvtParticleAllocator;
|
||||
#endif
|
||||
extern G4EVENT_DLL G4ThreadLocal G4Allocator<G4HEPEvtParticle> *aHEPEvtParticleAllocator;
|
||||
|
||||
inline void * G4HEPEvtParticle::operator new(size_t)
|
||||
{
|
||||
void * aHEPEvtParticle;
|
||||
aHEPEvtParticle = (void *) aHEPEvtParticleAllocator.MallocSingle();
|
||||
return aHEPEvtParticle;
|
||||
if (!aHEPEvtParticleAllocator)
|
||||
aHEPEvtParticleAllocator = new G4Allocator<G4HEPEvtParticle>;
|
||||
return (void *) aHEPEvtParticleAllocator->MallocSingle();
|
||||
}
|
||||
|
||||
inline void G4HEPEvtParticle::operator delete(void * aHEPEvtParticle)
|
||||
{
|
||||
aHEPEvtParticleAllocator.FreeSingle((G4HEPEvtParticle *) aHEPEvtParticle);
|
||||
aHEPEvtParticleAllocator->FreeSingle((G4HEPEvtParticle *) aHEPEvtParticle);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4ParticleGun.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4ParticleGun_h
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4ParticleGunMessenger.hh 72940 2013-08-14 13:29:44Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -63,6 +63,7 @@ class G4ParticleGunMessenger: public G4UImessenger
|
||||
|
||||
private:
|
||||
void IonCommand(G4String newValues);
|
||||
void IonLevelCommand(G4String newValues);
|
||||
|
||||
private:
|
||||
G4ParticleGun * fParticleGun;
|
||||
@@ -82,6 +83,7 @@ class G4ParticleGunMessenger: public G4UImessenger
|
||||
G4UIcmdWithAnInteger * numberCmd;
|
||||
|
||||
G4UIcommand * ionCmd;
|
||||
G4UIcommand* ionLvlCmd;
|
||||
|
||||
private: // for ion shooting
|
||||
G4bool fShootIon;
|
||||
@@ -89,6 +91,7 @@ class G4ParticleGunMessenger: public G4UImessenger
|
||||
G4int fAtomicMass;
|
||||
G4int fIonCharge;
|
||||
G4double fIonExciteEnergy;
|
||||
G4int fIonEnergyLevel;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4PrimaryTransformer.hh 72252 2013-07-12 09:04:11Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4PromaryTransformer_h
|
||||
@@ -61,6 +61,10 @@ class G4PrimaryTransformer
|
||||
|
||||
G4ParticleDefinition* unknown;
|
||||
G4bool unknownParticleDefined;
|
||||
G4ParticleDefinition* opticalphoton;
|
||||
G4bool opticalphotonDefined;
|
||||
|
||||
G4int nWarn;
|
||||
|
||||
public:
|
||||
inline void SetVerboseLevel(G4int vl)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4RayShooter.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
// class description:
|
||||
|
||||
@@ -291,8 +291,8 @@ private:
|
||||
G4bool Biased; // true - biased to power-law
|
||||
G4bool EnergySpec; // true - energy spectra, false - momentum spectra
|
||||
G4bool DiffSpec; // true - differential spec, false integral spec
|
||||
G4bool ApplyRig; // false no rigidity cutoff, true then apply one
|
||||
G4double ERig; // energy of rigidity cutoff
|
||||
//G4bool ApplyRig; // false no rigidity cutoff, true then apply one
|
||||
//G4double ERig; // energy of rigidity cutoff
|
||||
G4PhysicsOrderedFreeVector UDefEnergyH; // energy hist data
|
||||
G4PhysicsOrderedFreeVector IPDFEnergyH;
|
||||
G4bool IPDFEnergyExist, IPDFArbExist, Epnflag;
|
||||
|
||||
@@ -210,7 +210,7 @@ private:
|
||||
G4PhysicsOrderedFreeVector PosPhiBiasH;
|
||||
G4PhysicsOrderedFreeVector IPDFPosPhiBiasH;
|
||||
|
||||
G4double alpha; // for biasing energy
|
||||
//G4double alpha; // for biasing energy
|
||||
|
||||
G4double bweights[9]; //record x,y,z,theta,phi,energy,posThet,posPhi,intensity weights
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4SmartTrackStack.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
// Last Modification : 04/Oct/12 S. Kamperis
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4StackChecker.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4StackChecker_h
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4StackManager.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
// Last Modification : 04/Oct/11 P. Mato - making use of G4TrackStack with value semantics
|
||||
///
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4StackedTrack.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
// Last Modification : 02/Feb/96 M.Asai
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4StackingMessenger.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4StackingMessenger_h
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4TrackStack.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
// Last Modification : 09/Dec/96 M.Asai
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4TrajectoryContainer.hh 69010 2013-04-15 09:34:16Z gcosmo $
|
||||
//
|
||||
//
|
||||
// G4TrajectoryContainer
|
||||
@@ -39,10 +39,12 @@
|
||||
#ifndef G4TrajectoryContainer_h
|
||||
#define G4TrajectoryContainer_h 1
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "evtdefs.hh"
|
||||
#include "G4VTrajectory.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include <vector>
|
||||
|
||||
typedef std::vector<G4VTrajectory*> TrajectoryVector;
|
||||
|
||||
@@ -80,23 +82,18 @@ class G4TrajectoryContainer
|
||||
TrajectoryVector* vect;
|
||||
};
|
||||
|
||||
#if defined G4EVENT_ALLOC_EXPORT
|
||||
extern G4DLLEXPORT G4Allocator<G4TrajectoryContainer> aTrajectoryContainerAllocator;
|
||||
#else
|
||||
extern G4DLLIMPORT G4Allocator<G4TrajectoryContainer> aTrajectoryContainerAllocator;
|
||||
#endif
|
||||
extern G4EVENT_DLL G4ThreadLocal G4Allocator<G4TrajectoryContainer> *aTrajectoryContainerAllocator;
|
||||
|
||||
inline void* G4TrajectoryContainer::operator new(size_t)
|
||||
{
|
||||
void* aTrajectoryContainer;
|
||||
aTrajectoryContainer = (void*)aTrajectoryContainerAllocator.MallocSingle();
|
||||
return aTrajectoryContainer;
|
||||
if (!aTrajectoryContainerAllocator)
|
||||
aTrajectoryContainerAllocator = new G4Allocator<G4TrajectoryContainer>;
|
||||
return (void*)aTrajectoryContainerAllocator->MallocSingle();
|
||||
}
|
||||
|
||||
inline void G4TrajectoryContainer::operator delete(void* aTrajectoryContainer)
|
||||
{
|
||||
aTrajectoryContainerAllocator.FreeSingle((G4TrajectoryContainer*)aTrajectoryContainer);
|
||||
aTrajectoryContainerAllocator->FreeSingle((G4TrajectoryContainer*)aTrajectoryContainer);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4UserEventAction.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4UserStackingAction.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4UserStackingAction_h
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4VPrimaryGenerator.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
#ifndef G4VPrimaryGenerator_h
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4VUserEventInformation.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: eventgendefs.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
#ifndef EventGenerator_DEBUG
|
||||
#define EventGenerator_DEBUG
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: evmandefs.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
|
||||
///#define G4EVENTMANAGER_DEBUG 1
|
||||
|
||||
@@ -24,62 +24,28 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4CellScorer
|
||||
//
|
||||
// Class description:
|
||||
// Defines for Windows DLLs import/export
|
||||
//
|
||||
// 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;
|
||||
};
|
||||
|
||||
#ifndef EVTDEFS_HH
|
||||
#define EVTDEFS_HH
|
||||
|
||||
#include "G4Types.hh"
|
||||
|
||||
#ifdef WIN32
|
||||
//
|
||||
// Unique identifier for global module
|
||||
//
|
||||
#if defined G4EVENT_ALLOC_EXPORT
|
||||
#define G4EVENT_DLL G4DLLEXPORT
|
||||
#else
|
||||
#define G4EVENT_DLL G4DLLIMPORT
|
||||
#endif
|
||||
#else
|
||||
#define G4EVENT_DLL
|
||||
#endif
|
||||
|
||||
#endif /* G4EVTDEFS_HH */
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: trajectoryControl.hh 66892 2013-01-17 10:57:59Z gunter $
|
||||
//
|
||||
////#define G4_STORE_TRAJECTORY 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user