Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -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
-94
View File
@@ -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 $
//
//
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4EvManMessenger.hh 66892 2013-01-17 10:57:59Z gunter $
//
#ifndef G4EvManMessenger_h
+17 -22
View File
@@ -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
+5 -2
View File
@@ -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
+27 -25
View File
@@ -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
+12 -18
View File
@@ -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
+1 -1
View File
@@ -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
+5 -1
View File
@@ -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)
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4RayShooter.hh 66892 2013-01-17 10:57:59Z gunter $
//
// class description:
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4SmartTrackStack.hh 66892 2013-01-17 10:57:59Z gunter $
//
//
// Last Modification : 04/Oct/12 S. Kamperis
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StackChecker.hh 66892 2013-01-17 10:57:59Z gunter $
//
#ifndef G4StackChecker_h
+1 -1
View File
@@ -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
///
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StackedTrack.hh 66892 2013-01-17 10:57:59Z gunter $
//
//
// Last Modification : 02/Feb/96 M.Asai
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4StackingMessenger.hh 66892 2013-01-17 10:57:59Z gunter $
//
#ifndef G4StackingMessenger_h
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4TrackStack.hh 66892 2013-01-17 10:57:59Z gunter $
//
//
// Last Modification : 09/Dec/96 M.Asai
+9 -12
View File
@@ -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
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4UserEventAction.hh 66892 2013-01-17 10:57:59Z gunter $
//
//
//
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: G4UserStackingAction.hh 66892 2013-01-17 10:57:59Z gunter $
//
#ifndef G4UserStackingAction_h
+1 -1
View File
@@ -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 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: eventgendefs.hh 66892 2013-01-17 10:57:59Z gunter $
//
#ifndef EventGenerator_DEBUG
#define EventGenerator_DEBUG
+1 -1
View File
@@ -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 */
+1 -1
View File
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id$
// $Id: trajectoryControl.hh 66892 2013-01-17 10:57:59Z gunter $
//
////#define G4_STORE_TRAJECTORY 1