Import Geant4 4.1.0 source tree
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: DMXAnalysisManager.hh
|
||||
// GEANT4 tag $Name:
|
||||
//
|
||||
// Author: Alex Howard (a.s.howard@ic.ac.uk)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 16 Jan 2002 Alex Howard Created
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef DMXAnalysisManager_h
|
||||
#define DMXAnalysisManager_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
// Histogramming from AIDA
|
||||
|
||||
#include "AIDA/IAnalysisFactory.h"
|
||||
|
||||
#include "AIDA/ITreeFactory.h"
|
||||
#include "AIDA/ITree.h"
|
||||
|
||||
#include "AIDA/IHistogramFactory.h"
|
||||
#include "AIDA/IHistogram1D.h"
|
||||
#include "AIDA/IHistogram2D.h"
|
||||
#include "AIDA/IHistogram3D.h"
|
||||
|
||||
#include "AIDA/IPlotterFactory.h"
|
||||
#include "AIDA/IPlotter.h"
|
||||
|
||||
#include "AIDA/ITupleFactory.h"
|
||||
#include "AIDA/ITuple.h"
|
||||
|
||||
#include "AIDA/IManagedObject.h"
|
||||
|
||||
|
||||
class IAnalysisFactory;
|
||||
class ITree;
|
||||
class IHistogramFactory;
|
||||
class ITupleFactory;
|
||||
class ITuple;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class DMXAnalysisManager
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~DMXAnalysisManager();
|
||||
|
||||
// void book();
|
||||
void book(G4String);
|
||||
|
||||
void finish();
|
||||
|
||||
//fill histograms with SHC (Scint Hits) data from DMXEventAction
|
||||
void analyseScintHits(G4int event_id, G4double energy_pri, G4double totEnergy, G4int S_hits, G4double firstLXeHitTime, G4int P_hits, G4double aveTimePmtHits, G4String firstparticleName, G4double firstParticleE, G4bool gamma_ev, G4bool neutron_ev, G4bool positron_ev, G4bool electron_ev, G4bool other_ev, long seed1, long seed2);
|
||||
|
||||
//fill histograms with PHC (Pmt Hits) data from DMXEventAction
|
||||
void analysePMTHits(G4int, G4int, G4double, G4double, G4double);
|
||||
|
||||
//fill histograms with data from DMXParticleSource / secondary history
|
||||
void analyseParticleSource(G4double, G4String);
|
||||
|
||||
//fill histograms with data from DMXPrimaryGenerator
|
||||
void analysePrimaryGenerator(G4double);
|
||||
|
||||
//fill histograms with data from DMXPrimaryGenerator
|
||||
void HistFirstTime(G4double);
|
||||
|
||||
//Method to interactively display histograms
|
||||
void PlotHistos(G4bool);
|
||||
|
||||
//Method to interactively display histograms
|
||||
void PlotHistosInit();
|
||||
//Method to interactively display histograms
|
||||
void PlotHistosInter();
|
||||
|
||||
//method to call to create an instance of this class
|
||||
static DMXAnalysisManager* getInstance();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
//private constructor in order to create a singleton
|
||||
DMXAnalysisManager();
|
||||
|
||||
static DMXAnalysisManager* instance;
|
||||
|
||||
// Quantities for the ntuple
|
||||
|
||||
|
||||
G4int event_id; G4double energy_pri; G4double totEnergy; G4int S_hits; G4double firstLXeHitTime; G4int P_hits; G4double aveTimePmtHits; G4String firstparticleName; G4double firstParticleE; G4bool gamma_ev; G4bool neutron_ev; G4bool positron_ev;G4bool electron_ev;G4bool other_ev; long seed1; long seed2;
|
||||
|
||||
|
||||
G4int i; G4double x; G4double y; G4double z;
|
||||
|
||||
G4double energy; G4double name;
|
||||
|
||||
G4double time;
|
||||
|
||||
G4bool interactive;
|
||||
|
||||
IAnalysisFactory *af;
|
||||
ITree *tree;
|
||||
IHistogramFactory *hf;
|
||||
ITupleFactory *tpf;
|
||||
IPlotterFactory *pf;
|
||||
IPlotter *plotter;
|
||||
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4Material;
|
||||
|
||||
class G4UserLimits;
|
||||
@@ -51,6 +51,8 @@ class G4UserLimits;
|
||||
class DMXScintSD;
|
||||
class DMXPmtSD;
|
||||
|
||||
class DMXDetectorMessenger;
|
||||
|
||||
class DMXDetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
@@ -62,46 +64,31 @@ public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
// methods for UserLimits
|
||||
void UseUserLimits(G4bool value);
|
||||
G4bool IsUseUserLimits() { return fUseUserLimits; }
|
||||
G4double GetMaxTime() const { return theMaxTimeCuts; }
|
||||
G4double GetMaxStepSize() const { return theMaxStepSize; }
|
||||
void SetRoomEnergyCut(G4double);
|
||||
void SetEnergyCut(G4double);
|
||||
void SetTimeCut(G4double);
|
||||
void SetRoomTimeCut(G4double);
|
||||
// void UpdateGeometry();
|
||||
|
||||
G4double GetRoomTime() const { return theRoomTimeCut; }
|
||||
|
||||
void SetMaxTime(G4double value);
|
||||
void SetMaxStepSize(G4double value);
|
||||
void SetRoomTime(G4double value);
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
|
||||
G4bool fUseUserLimits;
|
||||
G4UserLimits* theUserLimits;
|
||||
G4UserLimits* theUserLimitsForRoom;
|
||||
G4UserLimits* theUserLimitsForDetector;
|
||||
G4UserLimits* theUserLimitsForXenon;
|
||||
|
||||
G4double theMaxTimeCuts;
|
||||
G4double theMaxStepSize;
|
||||
G4double theDetectorStepSize;
|
||||
G4double theMinEkine;
|
||||
G4double theRoomMinEkine;
|
||||
|
||||
G4double theRoomTimeCut;
|
||||
|
||||
G4Material* world_mat; // materials used
|
||||
G4Material* lab_mat;
|
||||
G4Material* jacket_mat;
|
||||
G4Material* vacuum_mat;
|
||||
G4Material* vessel_mat;
|
||||
G4Material* detector_mat;
|
||||
G4Material* liqPhase_mat;
|
||||
G4Material* CuShield_mat;
|
||||
G4Material* alpha_mat;
|
||||
G4Material* americium_mat;
|
||||
G4Material* ring_mat;
|
||||
G4Material* mirror_mat;
|
||||
G4Material* grid_mat;
|
||||
G4Material* pmt_mat;
|
||||
G4Material* window_mat;
|
||||
G4Material* phcath_mat;
|
||||
|
||||
#include "DMXDetectorMaterial.ihh" // materials used
|
||||
|
||||
G4double worldRadius; // sizes
|
||||
G4double worldHeight;
|
||||
@@ -111,32 +98,64 @@ private:
|
||||
|
||||
G4LogicalVolume* world_log; // pointers
|
||||
G4VPhysicalVolume* world_phys;
|
||||
|
||||
#include "DMXDetectorRoom.ihh"
|
||||
|
||||
G4LogicalVolume* lab_log;
|
||||
G4VPhysicalVolume* lab_phys;
|
||||
|
||||
G4LogicalVolume* LN2jacket_log;
|
||||
G4VPhysicalVolume* LN2jacket_phys;
|
||||
G4LogicalVolume* LN2vacuum_log;
|
||||
G4VPhysicalVolume* LN2vacuum_phys;
|
||||
G4LogicalVolume* LN2vessel_log;
|
||||
G4VPhysicalVolume* LN2vessel_phys;
|
||||
G4LogicalVolume* LN2_log;
|
||||
G4VPhysicalVolume* LN2_phys;
|
||||
G4LogicalVolume* jacket_log;
|
||||
G4VPhysicalVolume* jacket_phys;
|
||||
G4LogicalVolume* jacketflange_log;
|
||||
G4VPhysicalVolume* topjacketflange_phys;
|
||||
G4VPhysicalVolume* bottomjacketflange_phys;
|
||||
G4LogicalVolume* vacuum_log;
|
||||
G4VPhysicalVolume* vacuum_phys;
|
||||
G4LogicalVolume* copper_log;
|
||||
G4VPhysicalVolume* copper_phys;
|
||||
G4LogicalVolume* coppertop_log;
|
||||
G4VPhysicalVolume* coppertop_phys;
|
||||
G4LogicalVolume* vessel_log;
|
||||
G4VPhysicalVolume* vessel_phys;
|
||||
G4LogicalVolume* detector_log;
|
||||
G4VPhysicalVolume* detector_phys;
|
||||
G4LogicalVolume* vesseltop_log1;
|
||||
G4VPhysicalVolume* vesseltop_phys1;
|
||||
G4LogicalVolume* vesseltop_log2;
|
||||
G4VPhysicalVolume* vesseltop_phys2;
|
||||
G4LogicalVolume* vesselbottom_log1;
|
||||
G4VPhysicalVolume* vesselbottom_phys1;
|
||||
G4LogicalVolume* vesselbottom_log2;
|
||||
G4VPhysicalVolume* vesselbottom_phys2;
|
||||
G4LogicalVolume* pmtvesselbottom_log1;
|
||||
G4VPhysicalVolume* pmtvesselbottom_phys1;
|
||||
G4LogicalVolume* pmtvesselbottom_log2;
|
||||
G4VPhysicalVolume* pmtvesselbottom_phys2;
|
||||
G4LogicalVolume* GXe_log;
|
||||
G4VPhysicalVolume* GXe_phys;
|
||||
G4LogicalVolume* gaslag_log;
|
||||
G4VPhysicalVolume* gaslag_phys;
|
||||
G4LogicalVolume* CuShield_log;
|
||||
G4VPhysicalVolume* CuShield_phys;
|
||||
G4LogicalVolume* liqPhase_log;
|
||||
G4VPhysicalVolume* liqPhase_phys;
|
||||
G4LogicalVolume* LXe_log;
|
||||
G4VPhysicalVolume* LXe_phys;
|
||||
G4LogicalVolume* liqLag_log;
|
||||
G4VPhysicalVolume* liqLag_phys;
|
||||
G4LogicalVolume* alpha_log;
|
||||
G4VPhysicalVolume* alpha_phys;
|
||||
/*
|
||||
G4LogicalVolume* recess_log;
|
||||
G4VPhysicalVolume* recess_phys;
|
||||
*/
|
||||
G4LogicalVolume* recess_log;
|
||||
G4VPhysicalVolume* recess_phys;
|
||||
G4LogicalVolume* americium_log;
|
||||
G4VPhysicalVolume* americium_phys;
|
||||
G4LogicalVolume* ring_log;
|
||||
G4VPhysicalVolume* ring_phys_gas[1];
|
||||
G4VPhysicalVolume* ring_phys_liq[5];
|
||||
// G4VPhysicalVolume* ring_phys[8];
|
||||
G4LogicalVolume* mirror_log;
|
||||
G4VPhysicalVolume* mirror_phys;
|
||||
G4LogicalVolume* grid1_log;
|
||||
@@ -145,10 +164,6 @@ private:
|
||||
G4VPhysicalVolume* grid2_phys;
|
||||
G4LogicalVolume* pmt_log;
|
||||
G4VPhysicalVolume* pmt_phys;
|
||||
/*
|
||||
G4LogicalVolume* window_log;
|
||||
G4VPhysicalVolume* window_phys;
|
||||
*/
|
||||
G4LogicalVolume* phcath_log;
|
||||
G4VPhysicalVolume* phcath_phys;
|
||||
|
||||
@@ -156,6 +171,9 @@ private:
|
||||
DMXScintSD* LXeSD; //pointer to sensitive detectors
|
||||
DMXPmtSD* pmtSD;
|
||||
|
||||
// pointer to the Detector Messenger:
|
||||
DMXDetectorMessenger* detectorMessenger;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
G4Material* world_mat; // materials used
|
||||
G4Material* lab_mat;
|
||||
G4Material* cupboard_mat;
|
||||
G4Material* door_mat;
|
||||
G4Material* desk_mat;
|
||||
G4Material* crate_mat;
|
||||
G4Material* glass_mat;
|
||||
G4Material* panel_mat;
|
||||
G4Material* LN2jacket_mat;
|
||||
G4Material* LN2_mat;
|
||||
G4Material* jacket_mat;
|
||||
G4Material* jacketflange_mat;
|
||||
G4Material* vacuum_mat;
|
||||
G4Material* copper_mat;
|
||||
G4Material* vessel_mat;
|
||||
G4Material* GXe_mat;
|
||||
G4Material* LXe_mat;
|
||||
G4Material* CuShield_mat;
|
||||
G4Material* alpha_mat;
|
||||
G4Material* americium_mat;
|
||||
G4Material* ring_mat;
|
||||
G4Material* mirror_mat;
|
||||
G4Material* grid_mat;
|
||||
G4Material* pmt_mat;
|
||||
G4Material* window_mat;
|
||||
G4Material* phcath_mat;
|
||||
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// GEANT 4 - Underground Dark Matter Detector Advanced Example
|
||||
//
|
||||
// For information related to this code contact: Alex Howard
|
||||
// e-mail: a.s.howard@ic.ac.uk
|
||||
// --------------------------------------------------------------
|
||||
// Comments
|
||||
//
|
||||
// Underground Advanced
|
||||
// by A. Howard and H. Araujo
|
||||
// (27th November 2001)
|
||||
//
|
||||
// SteppingActionMessenger header
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#ifndef DMXDetectorMessenger_h
|
||||
#define DMXDetectorMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class DMXDetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
|
||||
|
||||
class DMXDetectorMessenger: public G4UImessenger {
|
||||
|
||||
public:
|
||||
DMXDetectorMessenger(DMXDetectorConstruction*);
|
||||
~DMXDetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
DMXDetectorConstruction* detectorConstruction;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* RoomEKineCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* EKineCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* RoomTimeCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* TimeCutCmd;
|
||||
// G4UIcmdWithoutParameter* UpdateCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
G4LogicalVolume* glass_log;
|
||||
G4VPhysicalVolume* glass_phys;
|
||||
G4LogicalVolume* window_log;
|
||||
G4VPhysicalVolume* window_phys;
|
||||
G4LogicalVolume* sidepanel_log;
|
||||
G4VPhysicalVolume* sidepanel_phys;
|
||||
G4LogicalVolume* panelhole_log;
|
||||
G4VPhysicalVolume* panelhole_phys;
|
||||
G4LogicalVolume* doorglass_log;
|
||||
G4VPhysicalVolume* doorglass_phys;
|
||||
G4LogicalVolume* doorwindow_log;
|
||||
G4VPhysicalVolume* doorwindow_phys;
|
||||
G4LogicalVolume* door_log;
|
||||
G4VPhysicalVolume* door_phys;
|
||||
G4LogicalVolume* doorhole_log;
|
||||
G4VPhysicalVolume* doorhole_phys;
|
||||
G4LogicalVolume* cupboard_log;
|
||||
G4VPhysicalVolume* cupboard_phys;
|
||||
G4LogicalVolume* cupboard2_log;
|
||||
G4VPhysicalVolume* cupboard2_phys;
|
||||
G4LogicalVolume* desk1_log;
|
||||
G4VPhysicalVolume* desk1_phys;
|
||||
G4LogicalVolume* desk2_log;
|
||||
G4VPhysicalVolume* desk2_phys;
|
||||
G4LogicalVolume* desk3_log;
|
||||
G4VPhysicalVolume* desk3_phys;
|
||||
G4LogicalVolume* desk4_log;
|
||||
G4VPhysicalVolume* desk4_phys;
|
||||
G4LogicalVolume* crate_log;
|
||||
G4VPhysicalVolume* crate_phys;
|
||||
G4LogicalVolume* trunk_log;
|
||||
G4VPhysicalVolume* trunk_phys;
|
||||
G4LogicalVolume* trunk_inside_log;
|
||||
G4VPhysicalVolume* trunk_inside_phys;
|
||||
@@ -46,14 +46,16 @@
|
||||
#include "DMXScintHit.hh"
|
||||
#include "DMXPmtHit.hh"
|
||||
|
||||
class DMXRunAction;
|
||||
class DMXPrimaryGeneratorAction;
|
||||
class DMXEventActionMessenger;
|
||||
|
||||
class DMXAnalysisManager;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
class DMXEventAction : public G4UserEventAction {
|
||||
|
||||
public:
|
||||
DMXEventAction();
|
||||
DMXEventAction(DMXRunAction*, DMXPrimaryGeneratorAction*);
|
||||
virtual ~DMXEventAction();
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
@@ -78,6 +80,9 @@ class DMXEventAction : public G4UserEventAction {
|
||||
private:
|
||||
G4int event_id;
|
||||
|
||||
const long* seeds;
|
||||
G4double energy_pri;
|
||||
|
||||
// hits collections
|
||||
G4int scintillatorCollID;
|
||||
G4int pmtCollID;
|
||||
@@ -91,6 +96,7 @@ class DMXEventAction : public G4UserEventAction {
|
||||
G4double totEnergyNeutrons;
|
||||
G4double hitEnergy;
|
||||
G4double firstLXeHitTime;
|
||||
G4double firstParticleE;
|
||||
G4double particleEnergy;
|
||||
G4String particleName;
|
||||
G4String firstParticleName;
|
||||
@@ -113,6 +119,9 @@ class DMXEventAction : public G4UserEventAction {
|
||||
G4int printModulo;
|
||||
DMXEventActionMessenger* eventMessenger;
|
||||
|
||||
DMXRunAction* runAct; //pointer to run action
|
||||
DMXPrimaryGeneratorAction* genAction; // pointer to particle generator
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: DMXMinEkineCuts.hh,v 1.2 2002/06/18 10:17:30 ahoward Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// 14 Aug. 1998 H.Kurashige
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef DMXMinEkineCuts_h
|
||||
#define DMXMinEkineCuts_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
#include "DMXSpecialCuts.hh"
|
||||
|
||||
|
||||
class DMXMinEkineCuts : public DMXSpecialCuts
|
||||
{
|
||||
public:
|
||||
|
||||
DMXMinEkineCuts(const G4String& processName ="DMXMinEkineCuts" );
|
||||
|
||||
virtual ~DMXMinEkineCuts();
|
||||
|
||||
// PostStep GPIL
|
||||
virtual G4double PostStepGetPhysicalInteractionLength(
|
||||
const G4Track& track,
|
||||
G4double previousStepSize,
|
||||
G4ForceCondition* condition
|
||||
);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator as private
|
||||
DMXMinEkineCuts(DMXMinEkineCuts&);
|
||||
DMXMinEkineCuts& operator=(const DMXMinEkineCuts& right);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -81,6 +81,7 @@ class DMXParticleSource : public G4VPrimaryGenerator {
|
||||
void SetEnergyDisType(G4String);
|
||||
void SetMonoEnergy(G4double);
|
||||
void GenerateMonoEnergetic();
|
||||
inline G4double GetParticleEnergy() {return particle_energy;}
|
||||
|
||||
// verbosity
|
||||
void SetVerbosity(G4int);
|
||||
|
||||
@@ -40,8 +40,14 @@
|
||||
#define DMXPrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#ifdef DMXENV_GPS_USE
|
||||
class G4GeneralParticleSource;
|
||||
#else
|
||||
class DMXParticleSource;
|
||||
#endif
|
||||
class DMXAnalysisManager;
|
||||
|
||||
class G4Event;
|
||||
|
||||
@@ -55,7 +61,21 @@ class DMXPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction {
|
||||
void GeneratePrimaries(G4Event* anEvent);
|
||||
|
||||
private:
|
||||
DMXParticleSource* particleGun;
|
||||
#ifdef DMXENV_GPS_USE
|
||||
G4GeneralParticleSource* particleGun;
|
||||
#else
|
||||
DMXParticleSource* particleGun;
|
||||
#endif
|
||||
|
||||
private:
|
||||
// const long* seeds;
|
||||
long seeds[2];
|
||||
G4double energy_pri;
|
||||
|
||||
public:
|
||||
const long* GetEventSeeds() {return seeds;};
|
||||
G4double GetEnergyPrimary() {return energy_pri;};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
|
||||
class DMXRunActionMessenger;
|
||||
class G4Run;
|
||||
class DMXAnalysisManager;
|
||||
|
||||
class DMXRunAction : public G4UserRunAction
|
||||
{
|
||||
@@ -57,15 +58,25 @@ class DMXRunAction : public G4UserRunAction
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
void SetFilename(G4String val) { fileName = val; };
|
||||
public:
|
||||
void SetsavehitsFile (G4String val) { savehitsFile = val;};
|
||||
void SetsavepmtFile (G4String val) { savepmtFile = val;};
|
||||
void SetsavehistFile (G4String val) { savehistFile = val;};
|
||||
void Setinteractplot (G4bool valb) { interactplot = valb;};
|
||||
|
||||
G4String GetsavehitsFile() {return savehitsFile;};
|
||||
G4String GetsavepmtFile() {return savepmtFile;};
|
||||
|
||||
private:
|
||||
|
||||
G4String fileName; // log file name for the run
|
||||
//messenger
|
||||
G4String savehitsFile;
|
||||
G4String savepmtFile;
|
||||
G4String savehistFile;
|
||||
G4bool interactplot;
|
||||
|
||||
DMXRunActionMessenger* runMessenger;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
class DMXRunAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithABool;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -56,8 +57,12 @@ class DMXRunActionMessenger: public G4UImessenger
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
DMXRunAction* DMXRun;
|
||||
G4UIcmdWithAString* FileCmd;
|
||||
DMXRunAction* DMXRun;
|
||||
|
||||
G4UIcmdWithAString* SaveHitsCmd;
|
||||
G4UIcmdWithAString* SavePmtCmd;
|
||||
G4UIcmdWithAString* SaveHistFileCmd;
|
||||
G4UIcmdWithABool* InteractPlotCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
// StackingActionMessenger header
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#ifndef protpStackingActionMessenger_h
|
||||
#ifndef DMXStackingActionMessenger_h
|
||||
#define DMXStackingActionMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
|
||||
class DMXSteppingActionMessenger;
|
||||
class DMXEventAction;
|
||||
class DMXAnalysisManager;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
Reference in New Issue
Block a user