aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/#G4BeamTestEventAction.h#44
-rw-r--r--include/G4BeamTestDetectorConstruction.h6
-rw-r--r--include/G4BeamTestEMPhysics.h6
-rw-r--r--include/G4BeamTestEventAction.h6
-rw-r--r--include/G4BeamTestHadronPhysics.h.backup327
-rw-r--r--include/G4BeamTestIonPhysics.h.backup88
-rw-r--r--include/G4BeamTestMuonPhysics.h4
-rw-r--r--include/G4BeamTestPrimaryGeneratorMessenger.h4
-rw-r--r--include/G4BeamTestRunManager.h.backup34
-rw-r--r--include/G4BeamTestSC4SD.h42
-rw-r--r--include/G4BeamTestSiHit.h2
-rw-r--r--include/G4BeamTestSiSD.h7
-rw-r--r--include/G4BeamTestTank.h4
-rw-r--r--include/G4Interface.h4
-rw-r--r--include/G4TankIceSD.h57
15 files changed, 61 insertions, 574 deletions
diff --git a/include/#G4BeamTestEventAction.h# b/include/#G4BeamTestEventAction.h#
deleted file mode 100644
index 2c8b933..0000000
--- a/include/#G4BeamTestEventAction.h#
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef G4BeamTestEventAction_h
-#define G4BeamTestEventAction_h 1
-
-#include "G4UserEventAction.hh"
-#include "globals.hh"
-
-/// Event action class
-///
-
-class G4BeamTestEventAction : public G4UserEventAction
-{
- public:
- G4BeamTestEventAction();
- virtual ~G4BeamTestEventAction();
-
- virtual void BeginOfEventAction(const G4Event* );
- virtual void EndOfEventAction(const G4Event* );
-
- void AddEdep(G4double edep) { fEdep += edep; }
- void AddTime(G4double time) { ftime += ->GetTime()}
- void AddPath(G4double path) { fIntegralZ +=path; }
- G4double GetPath(){return fIntegralZ;}
- void SetXY (G4double xhit, G4double yhit) {fXIn=xhit;fYIn=yhit;}
- G4double GetX()const {return fXIn;}
-
-
- G4double GetY()const {return fYIn;}
- private:
- G4double fEdep;
- G4double fIntegralZ;
- G4double fXIn;
- G4double ftime;
- G4int SiCollID;
- G4int hcID;
-
- G4double fYIn;
-};
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-
-#endif
-
-
-
diff --git a/include/G4BeamTestDetectorConstruction.h b/include/G4BeamTestDetectorConstruction.h
index 7e109b2..c2720ce 100644
--- a/include/G4BeamTestDetectorConstruction.h
+++ b/include/G4BeamTestDetectorConstruction.h
@@ -5,6 +5,7 @@
#include <G4ThreeVector.hh>
#include "G4BeamTestTank.h"
+#include "G4BeamTestSC4SD.h"
class G4BeamTestDetectorConstruction: public G4VUserDetectorConstruction
{
@@ -26,12 +27,8 @@ class G4BeamTestDetectorConstruction: public G4VUserDetectorConstruction
void CreateMaterials();
void CreateAir();
- /* void CreateIce(); */
- /* void CreateSnow(); */
void CreateWater();
void CreatePlastic();
- /* void CreateTyvek(); */
- /* void CreatePerlite(); */
void CreateGlassSphere();
void CreateEffectiveDOMMaterial();
void CreateSC4();
@@ -41,6 +38,7 @@ class G4BeamTestDetectorConstruction: public G4VUserDetectorConstruction
G4int verboseLevel_;
G4BeamTestTank* tank_;
+ G4BeamTestSC4SD* sc4SD_;
};
#endif
diff --git a/include/G4BeamTestEMPhysics.h b/include/G4BeamTestEMPhysics.h
index bf20b62..24c5006 100644
--- a/include/G4BeamTestEMPhysics.h
+++ b/include/G4BeamTestEMPhysics.h
@@ -41,11 +41,11 @@ private:
G4eMultipleScattering electronMultipleScattering;
G4eIonisation electronIonisation;
G4eBremsstrahlung electronBremsStrahlung;
-
+
//Positron physics
G4eMultipleScattering positronMultipleScattering;
- G4eIonisation positronIonisation;
- G4eBremsstrahlung positronBremsStrahlung;
+ G4eIonisation positronIonisation;
+ G4eBremsstrahlung positronBremsStrahlung;
G4eplusAnnihilation annihilation;
};
diff --git a/include/G4BeamTestEventAction.h b/include/G4BeamTestEventAction.h
index 2d6de49..69f0af7 100644
--- a/include/G4BeamTestEventAction.h
+++ b/include/G4BeamTestEventAction.h
@@ -12,7 +12,7 @@ class G4BeamTestEventAction : public G4UserEventAction
public:
G4BeamTestEventAction();
virtual ~G4BeamTestEventAction();
-
+
virtual void BeginOfEventAction(const G4Event* );
virtual void EndOfEventAction(const G4Event* );
@@ -29,6 +29,7 @@ class G4BeamTestEventAction : public G4UserEventAction
G4double fIntegralZ;
G4double fXIn;
G4int SiCollID;
+ G4int SC4CollID;
G4int hcID;
G4double fYIn;
@@ -37,6 +38,3 @@ class G4BeamTestEventAction : public G4UserEventAction
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
-
-
-
diff --git a/include/G4BeamTestHadronPhysics.h.backup b/include/G4BeamTestHadronPhysics.h.backup
deleted file mode 100644
index dc2bf67..0000000
--- a/include/G4BeamTestHadronPhysics.h.backup
+++ /dev/null
@@ -1,327 +0,0 @@
-#ifndef G4TANKRESPONSE_G4BEAMTESTHADRONPHYSICS_H_INCLUDED
-#define G4TANKRESPONSE_G4BEAMTESTHADRONPHYSICS_H_INCLUDED
-
-#include <vector>
-
-#include <globals.hh>
-
-#include <G4VPhysicsConstructor.hh>
-
-#include <G4hMultipleScattering.hh>
-#include <G4hIonisation.hh>
-
-#include <G4HadronElasticProcess.hh>
-#include <G4HadronFissionProcess.hh>
-#include <G4HadronCaptureProcess.hh>
-
-#include <G4PionPlusInelasticProcess.hh>
-#include <G4PionMinusInelasticProcess.hh>
-#include <G4KaonPlusInelasticProcess.hh>
-#include <G4KaonZeroSInelasticProcess.hh>
-#include <G4KaonZeroLInelasticProcess.hh>
-#include <G4KaonMinusInelasticProcess.hh>
-#include <G4ProtonInelasticProcess.hh>
-#include <G4AntiProtonInelasticProcess.hh>
-#include <G4NeutronInelasticProcess.hh>
-#include <G4AntiNeutronInelasticProcess.hh>
-#include <G4LambdaInelasticProcess.hh>
-#include <G4AntiLambdaInelasticProcess.hh>
-#include <G4SigmaPlusInelasticProcess.hh>
-#include <G4SigmaMinusInelasticProcess.hh>
-#include <G4AntiSigmaPlusInelasticProcess.hh>
-#include <G4AntiSigmaMinusInelasticProcess.hh>
-#include <G4XiZeroInelasticProcess.hh>
-#include <G4XiMinusInelasticProcess.hh>
-#include <G4AntiXiZeroInelasticProcess.hh>
-#include <G4AntiXiMinusInelasticProcess.hh>
-#include <G4DeuteronInelasticProcess.hh>
-#include <G4TritonInelasticProcess.hh>
-#include <G4AlphaInelasticProcess.hh>
-#include <G4OmegaMinusInelasticProcess.hh>
-#include <G4AntiOmegaMinusInelasticProcess.hh>
-
-// Low-energy Models
-#include <G4LElastic.hh>
-#include <G4LFission.hh>
-#include <G4LCapture.hh>
-
-#include <G4LEPionPlusInelastic.hh>
-#include <G4LEPionMinusInelastic.hh>
-#include <G4LEKaonPlusInelastic.hh>
-#include <G4LEKaonZeroSInelastic.hh>
-#include <G4LEKaonZeroLInelastic.hh>
-#include <G4LEKaonMinusInelastic.hh>
-#include <G4LEProtonInelastic.hh>
-#include <G4LEAntiProtonInelastic.hh>
-#include <G4LENeutronInelastic.hh>
-#include <G4LEAntiNeutronInelastic.hh>
-#include <G4LELambdaInelastic.hh>
-#include <G4LEAntiLambdaInelastic.hh>
-#include <G4LESigmaPlusInelastic.hh>
-#include <G4LESigmaMinusInelastic.hh>
-#include <G4LEAntiSigmaPlusInelastic.hh>
-#include <G4LEAntiSigmaMinusInelastic.hh>
-#include <G4LEXiZeroInelastic.hh>
-#include <G4LEXiMinusInelastic.hh>
-#include <G4LEAntiXiZeroInelastic.hh>
-#include <G4LEAntiXiMinusInelastic.hh>
-#include <G4LEDeuteronInelastic.hh>
-#include <G4LETritonInelastic.hh>
-#include <G4LEAlphaInelastic.hh>
-#include <G4LEOmegaMinusInelastic.hh>
-#include <G4LEAntiOmegaMinusInelastic.hh>
-
-// High-energy Models
-
-#include <G4HEPionPlusInelastic.hh>
-#include <G4HEPionMinusInelastic.hh>
-#include <G4HEKaonPlusInelastic.hh>
-#include <G4HEKaonZeroInelastic.hh>
-#include <G4HEKaonZeroInelastic.hh>
-#include <G4HEKaonMinusInelastic.hh>
-#include <G4HEProtonInelastic.hh>
-#include <G4HEAntiProtonInelastic.hh>
-#include <G4HENeutronInelastic.hh>
-#include <G4HEAntiNeutronInelastic.hh>
-#include <G4HELambdaInelastic.hh>
-#include <G4HEAntiLambdaInelastic.hh>
-#include <G4HESigmaPlusInelastic.hh>
-#include <G4HESigmaMinusInelastic.hh>
-#include <G4HEAntiSigmaPlusInelastic.hh>
-#include <G4HEAntiSigmaMinusInelastic.hh>
-#include <G4HEXiZeroInelastic.hh>
-#include <G4HEXiMinusInelastic.hh>
-#include <G4HEAntiXiZeroInelastic.hh>
-#include <G4HEAntiXiMinusInelastic.hh>
-#include <G4HEOmegaMinusInelastic.hh>
-#include <G4HEAntiOmegaMinusInelastic.hh>
-
-// Stopping processes
-#include <G4AntiProtonAnnihilationAtRest.hh>
-#include <G4AntiNeutronAnnihilationAtRest.hh>
-
-#ifdef TRIUMF_STOP_PIMINUS
-#include <G4PionMinusAbsorptionAtRest.hh>
-#else
-#include <G4PiMinusAbsorptionAtRest.hh>
-#endif
-#ifdef TRIUMF_STOP_KMINUS
-#include <G4KaonMinusAbsorption.hh>
-#else
-#include <G4KaonMinusAbsorptionAtRest.hh>
-#endif
-
-// quark gluon string model with chips afterburner.
-#include <G4TheoFSGenerator.hh>
-#include <G4ExcitationHandler.hh>
-#include <G4PreCompoundModel.hh>
-#include <G4GeneratorPrecompoundInterface.hh>
-#include <G4QGSModel.hh>
-#include <G4QGSParticipants.hh>
-#include <G4QGSMFragmentation.hh>
-#include <G4ExcitedStringDecay.hh>
-
-/**
- @brief Hadron physics. Used only if Geant4 version is earlier than 4.10.
- @author GEANT4/Peter Niessen
- @date Sat Jul 24 23:53:47 EDT 2004
-
- Many processes. You're encouraged to check the source.
-*/
-class G4BeamTestHadronPhysics : public G4VPhysicsConstructor {
-public:
-
- /**
- * The constructor
- */
- G4BeamTestHadronPhysics();
-
- /**
- * The virtual destructor
- */
- virtual ~G4BeamTestHadronPhysics();
-
- /**
- * This method will be invoked in the Construct() method.
- * each particle type will be instantiated
- */
- virtual void ConstructParticle();
-
- /**
- * This method will be invoked in the Construct() method.
- * each physics process will be instantiated and
- * registered to the process manager of each particle type
- */
- virtual void ConstructProcess();
-
-protected:
-
- // Elastic Process
- G4HadronElasticProcess elasticProcess_;
- G4LElastic *elasticModel_;
-
- // Pi +
- G4PionPlusInelasticProcess pionPlusInelastic_;
- G4LEPionPlusInelastic *lePionPlusModel_;
- G4hMultipleScattering pionPlusMult_;
- G4hIonisation pionPlusIonisation_;
-
- // Pi -
- G4PionMinusInelasticProcess pionMinusInelastic_;
- G4LEPionMinusInelastic *lePionMinusModel_;
- G4hMultipleScattering pionMinusMult_;
- G4hIonisation pionMinusIonisation_;
-#ifdef TRIUMF_STOP_PIMINUS
- G4PionMinusAbsorptionAtRest pionMinusAbsorption_;
-#else
- G4PiMinusAbsorptionAtRest pionMinusAbsorption_;
-#endif
-
- // pi+ and pi-
- G4TheoFSGenerator theoModel_;
- G4ExcitationHandler excitationHandler_;
- G4PreCompoundModel *preEquilib_;
- G4GeneratorPrecompoundInterface cascade_;
- G4QGSModel< G4QGSParticipants > stringModel_;
- G4QGSMFragmentation fragmentation_;
- G4ExcitedStringDecay *stringDecay_;
-
- // K +
- G4KaonPlusInelasticProcess kaonPlusInelastic_;
- G4LEKaonPlusInelastic *leKaonPlusModel_;
- G4HEKaonPlusInelastic *heKaonPlusModel_;
- G4hMultipleScattering kaonPlusMult_;
- G4hIonisation kaonPlusIonisation_;
-
- // K -
- G4KaonMinusInelasticProcess kaonMinusInelastic_;
- G4LEKaonMinusInelastic *leKaonMinusModel_;
- G4HEKaonMinusInelastic *heKaonMinusModel_;
- G4hMultipleScattering kaonMinusMult_;
- G4hIonisation kaonMinusIonisation_;
-#ifdef TRIUMF_STOP_KMINUS
- G4KaonMinusAbsorption kaonMinusAbsorption_;
-#else
- G4PiMinusAbsorptionAtRest kaonMinusAbsorption_;
-#endif
-
- // K0L
- G4KaonZeroLInelasticProcess kaonZeroLInelastic_;
- G4LEKaonZeroLInelastic *leKaonZeroLModel_;
- G4HEKaonZeroInelastic *heKaonZeroLModel_;
-
- // K0S
- G4KaonZeroSInelasticProcess kaonZeroSInelastic_;
- G4LEKaonZeroSInelastic *leKaonZeroSModel_;
- G4HEKaonZeroInelastic *heKaonZeroSModel_;
-
- // Proton
- G4ProtonInelasticProcess protonInelastic_;
- G4LEProtonInelastic *leProtonModel_;
- G4HEProtonInelastic *heProtonModel_;
- G4hMultipleScattering protonMult_;
- G4hIonisation protonIonisation_;
-
- // anti-proton
- G4AntiProtonInelasticProcess antiProtonInelastic_;
- G4LEAntiProtonInelastic *leAntiProtonModel_;
- G4HEAntiProtonInelastic *heAntiProtonModel_;
- G4hMultipleScattering antiProtonMult_;
- G4hIonisation antiProtonIonisation_;
- G4AntiProtonAnnihilationAtRest antiProtonAnnihilation_;
-
- // neutron
- G4NeutronInelasticProcess neutronInelastic_;
- G4LENeutronInelastic *leNeutronModel_;
- G4HENeutronInelastic *heNeutronModel_;
- G4HadronFissionProcess neutronFission_;
- G4LFission *neutronFissionModel_;
- G4HadronCaptureProcess neutronCapture_;
- G4LCapture *neutronCaptureModel_;
-
-
- // anti-neutron
- G4AntiNeutronInelasticProcess antiNeutronInelastic_;
- G4LEAntiNeutronInelastic *leAntiNeutronModel_;
- G4HEAntiNeutronInelastic *heAntiNeutronModel_;
- G4AntiNeutronAnnihilationAtRest antiNeutronAnnihilation_;
-
- // Lambda
- G4LambdaInelasticProcess lambdaInelastic_;
- G4LELambdaInelastic *leLambdaModel_;
- G4HELambdaInelastic *heLambdaModel_;
-
- // AntiLambda
- G4AntiLambdaInelasticProcess antiLambdaInelastic_;
- G4LEAntiLambdaInelastic *leAntiLambdaModel_;
- G4HEAntiLambdaInelastic *heAntiLambdaModel_;
-
- // SigmaMinus
- G4SigmaMinusInelasticProcess sigmaMinusInelastic_;
- G4LESigmaMinusInelastic *leSigmaMinusModel_;
- G4HESigmaMinusInelastic *heSigmaMinusModel_;
- G4hMultipleScattering sigmaMinusMult_;
- G4hIonisation sigmaMinusIonisation_;
-
- // AntiSigmaMinus
- G4AntiSigmaMinusInelasticProcess antiSigmaMinusInelastic_;
- G4LEAntiSigmaMinusInelastic *leAntiSigmaMinusModel_;
- G4HEAntiSigmaMinusInelastic *heAntiSigmaMinusModel_;
- G4hMultipleScattering antiSigmaMinusMult_;
- G4hIonisation antiSigmaMinusIonisation_;
-
- // SigmaPlus
- G4SigmaPlusInelasticProcess sigmaPlusInelastic_;
- G4LESigmaPlusInelastic *leSigmaPlusModel_;
- G4HESigmaPlusInelastic *heSigmaPlusModel_;
- G4hMultipleScattering sigmaPlusMult_;
- G4hIonisation sigmaPlusIonisation_;
-
- // AntiSigmaPlus
- G4AntiSigmaPlusInelasticProcess antiSigmaPlusInelastic_;
- G4LEAntiSigmaPlusInelastic *leAntiSigmaPlusModel_;
- G4HEAntiSigmaPlusInelastic *heAntiSigmaPlusModel_;
- G4hMultipleScattering antiSigmaPlusMult_;
- G4hIonisation antiSigmaPlusIonisation_;
-
- // XiZero
- G4XiZeroInelasticProcess xiZeroInelastic_;
- G4LEXiZeroInelastic *leXiZeroModel_;
- G4HEXiZeroInelastic *heXiZeroModel_;
-
- // AntiXiZero
- G4AntiXiZeroInelasticProcess antiXiZeroInelastic_;
- G4LEAntiXiZeroInelastic* leAntiXiZeroModel_;
- G4HEAntiXiZeroInelastic* heAntiXiZeroModel_;
-
- // XiMinus
- G4XiMinusInelasticProcess xiMinusInelastic_;
- G4LEXiMinusInelastic *leXiMinusModel_;
- G4HEXiMinusInelastic *heXiMinusModel_;
- G4hMultipleScattering xiMinusMult_;
- G4hIonisation xiMinusIonisation_;
-
- // AntiXiMinus
- G4AntiXiMinusInelasticProcess antiXiMinusInelastic_;
- G4LEAntiXiMinusInelastic *leAntiXiMinusModel_;
- G4HEAntiXiMinusInelastic *heAntiXiMinusModel_;
- G4hMultipleScattering antiXiMinusMult_;
- G4hIonisation antiXiMinusIonisation_;
-
- // OmegaMinus
- G4OmegaMinusInelasticProcess omegaMinusInelastic_;
- G4LEOmegaMinusInelastic *leOmegaMinusModel_;
- G4HEOmegaMinusInelastic *heOmegaMinusModel_;
- G4hMultipleScattering omegaMinusMult_;
- G4hIonisation omegaMinusIonisation_;
-
- // AntiOmegaMinus
- G4AntiOmegaMinusInelasticProcess antiOmegaMinusInelastic_;
- G4LEAntiOmegaMinusInelastic *leAntiOmegaMinusModel_;
- G4HEAntiOmegaMinusInelastic *heAntiOmegaMinusModel_;
- G4hMultipleScattering antiOmegaMinusMult_;
- G4hIonisation antiOmegaMinusIonisation_;
-};
-
-
-#endif // G4TANKRESPONSE_G4BEAMTESTHADRONPHYSICS_H_INCLUDED
diff --git a/include/G4BeamTestIonPhysics.h.backup b/include/G4BeamTestIonPhysics.h.backup
deleted file mode 100644
index 0a9d5f1..0000000
--- a/include/G4BeamTestIonPhysics.h.backup
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED
-#define G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED
-
-#include <globals.hh>
-#include <G4ios.hh>
-#include <G4VPhysicsConstructor.hh>
-#include <G4HadronElasticProcess.hh>
-#include <G4LElastic.hh>
-#include <G4DeuteronInelasticProcess.hh>
-#include <G4LEDeuteronInelastic.hh>
-#include <G4TritonInelasticProcess.hh>
-#include <G4LETritonInelastic.hh>
-#include <G4AlphaInelasticProcess.hh>
-#include <G4LEAlphaInelastic.hh>
-#include <G4hIonisation.hh>
-#include <G4ionIonisation.hh>
-#include <G4hMultipleScattering.hh>
-
-/**
- @class G4BeamTestIonPhysics
- @brief Ion physics. Used only if Geant4 version is earlier than 4.10.
- @author GEANT4/Peter Niessen
- @date Sun Jul 25 00:24:42 EDT 2004
-
- The ion physics. Check the source for details.
-*/
-class G4BeamTestIonPhysics : public G4VPhysicsConstructor {
-
-public:
-
- /**
- * The constructor
- */
- G4BeamTestIonPhysics();
-
- /**
- * The virtual destructor
- */
- virtual ~G4BeamTestIonPhysics();
-
- /**
- * This method will be invoked in the Construct() method.
- * each particle type will be instantiated
- */
- virtual void ConstructParticle();
-
- /**
- * This method will be invoked in the Construct() method.
- * each physics process will be instantiated and
- * registered to the process manager of each particle type
- */
- virtual void ConstructProcess();
-
-protected:
- // Elastic Process
- G4HadronElasticProcess elasticProcess_;
- G4LElastic* elasticModel_;
-
- // Generic Ion physics
- G4hMultipleScattering ionMultipleScattering_;
- G4ionIonisation ionIonisation_;
-
- // Deuteron physics
- G4hMultipleScattering deuteronMultipleScattering_;
- G4hIonisation deuteronIonisation_;
- G4DeuteronInelasticProcess deuteronProcess_;
- G4LEDeuteronInelastic* deuteronModel_;
-
- // Triton physics
- G4hMultipleScattering tritonMultipleScattering_;
- G4hIonisation tritonIonisation_;
- G4TritonInelasticProcess tritonProcess_;
- G4LETritonInelastic* tritonModel_;
-
- // Alpha physics
- G4hMultipleScattering alphaMultipleScattering_;
- G4hIonisation alphaIonisation_;
- G4AlphaInelasticProcess alphaProcess_;
- G4LEAlphaInelastic* alphaModel_;
-
- // He3 physics
- G4hMultipleScattering he3MultipleScattering_;
- G4hIonisation he3Ionisation_;
-
-};
-
-
-#endif // G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED
diff --git a/include/G4BeamTestMuonPhysics.h b/include/G4BeamTestMuonPhysics.h
index 0c53595..8ebead1 100644
--- a/include/G4BeamTestMuonPhysics.h
+++ b/include/G4BeamTestMuonPhysics.h
@@ -27,10 +27,10 @@
*/
class G4BeamTestMuonPhysics : public G4VPhysicsConstructor
{
-public:
+public:
G4BeamTestMuonPhysics();
~G4BeamTestMuonPhysics();
-
+
void ConstructParticle();
void ConstructProcess();
diff --git a/include/G4BeamTestPrimaryGeneratorMessenger.h b/include/G4BeamTestPrimaryGeneratorMessenger.h
index 0063f95..62181d0 100644
--- a/include/G4BeamTestPrimaryGeneratorMessenger.h
+++ b/include/G4BeamTestPrimaryGeneratorMessenger.h
@@ -15,9 +15,9 @@ class G4BeamTestPrimaryGeneratorMessenger: public G4UImessenger
public:
G4BeamTestPrimaryGeneratorMessenger(G4BeamTestPrimaryGeneratorAction* );
virtual ~G4BeamTestPrimaryGeneratorMessenger();
-
+
virtual void SetNewValue(G4UIcommand*, G4String);
-
+
private:
G4BeamTestPrimaryGeneratorAction* fG4BeamTestAction;
G4UIdirectory* fGunDir;
diff --git a/include/G4BeamTestRunManager.h.backup b/include/G4BeamTestRunManager.h.backup
deleted file mode 100644
index a7eaff0..0000000
--- a/include/G4BeamTestRunManager.h.backup
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef TOPSIMULATOR_G4BEAMTESTRUNMANAGER_H
-#define TOPSIMULATOR_G4BEAMTESTRUNMANAGER_H
-
-#include <G4RunManager.hh>
-
-class G4ParticleGun;
-
-/**
- * Implementation of G4RunManager
- */
-class G4BeamTestRunManager: public G4RunManager
-{
- public:
- G4BeamTestRunManager();
-
- static G4BeamTestRunManager* GetIceTopRunManager() {return (G4BeamTestRunManager*)GetRunManager();}
-
- // Disable BeamOn
- void BeamOn(G4int n_event,const char* macroFile=0,G4int n_select=-1);
-
- void InitializeRun();
- void InjectParticle(G4ParticleGun* particleGun);
- void TerminateRun();
-
- protected:
- G4Event* GenerateEvent(G4int i_event);
-
- private:
- // This method is an exact copy of UpdateScoring which is private in the G4RunManager
- void Update_Scoring();
-
-};
-
-#endif
diff --git a/include/G4BeamTestSC4SD.h b/include/G4BeamTestSC4SD.h
new file mode 100644
index 0000000..d27c7e0
--- /dev/null
+++ b/include/G4BeamTestSC4SD.h
@@ -0,0 +1,42 @@
+#ifndef G4BeamTestSC4SD_h
+#define G4BeamTestSC4SD_h 1
+
+#include "G4VSensitiveDetector.hh"
+
+#include "G4BeamTestSiHit.h"
+
+#include <vector>
+
+class G4Step;
+class G4HCofThisEvent;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+/// B2Tracker sensitive detector class
+///
+/// The hits are accounted in hits in ProcessHits() function which is called
+/// by Geant4 kernel at each step. A hit is created with each step with non zero
+/// energy deposit.
+
+class G4BeamTestSC4SD : public G4VSensitiveDetector
+{
+public:
+ G4BeamTestSC4SD(const G4String& name, const G4String& hitsCollectionName);
+ virtual ~G4BeamTestSC4SD();
+
+ // methods from base class
+ virtual void Initialize(G4HCofThisEvent* hitCollection);
+ virtual G4bool ProcessHits(G4Step* step, G4TouchableHistory* history);
+ virtual void EndOfEvent(G4HCofThisEvent* hitCollection);
+
+
+private:
+ G4BeamTestSiHitsCollection* fHitsCollection;
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
diff --git a/include/G4BeamTestSiHit.h b/include/G4BeamTestSiHit.h
index eaed902..ce093a6 100644
--- a/include/G4BeamTestSiHit.h
+++ b/include/G4BeamTestSiHit.h
@@ -9,7 +9,7 @@
#include "G4ThreeVector.hh"
#include "tls.hh"
-static std::fstream testnew("./testnew.txt", std::ofstream::out);
+#include "G4Interface.h"
/// Tracker hit class
///
diff --git a/include/G4BeamTestSiSD.h b/include/G4BeamTestSiSD.h
index 20992c0..029175d 100644
--- a/include/G4BeamTestSiSD.h
+++ b/include/G4BeamTestSiSD.h
@@ -15,16 +15,15 @@ class G4HCofThisEvent;
/// B2Tracker sensitive detector class
///
/// The hits are accounted in hits in ProcessHits() function which is called
-/// by Geant4 kernel at each step. A hit is created with each step with non zero
+/// by Geant4 kernel at each step. A hit is created with each step with non zero
/// energy deposit.
class G4BeamTestSiSD : public G4VSensitiveDetector
{
public:
- G4BeamTestSiSD(const G4String& name,
- const G4String& hitsCollectionName);
+ G4BeamTestSiSD(const G4String& name, const G4String& hitsCollectionName);
virtual ~G4BeamTestSiSD();
-
+
// methods from base class
virtual void Initialize(G4HCofThisEvent* hitCollection);
virtual G4bool ProcessHits(G4Step* step, G4TouchableHistory* history);
diff --git a/include/G4BeamTestTank.h b/include/G4BeamTestTank.h
index c4d3400..422d49a 100644
--- a/include/G4BeamTestTank.h
+++ b/include/G4BeamTestTank.h
@@ -30,7 +30,7 @@ class G4BeamTestTank
~G4BeamTestTank();
- const G4ThreeVector& GetPos() const {return position_;}
+ // const G4ThreeVector& GetPos() const {return position_;}
/* /// Position of center of the tank */
/* I3Position GetPos_I3(); */
@@ -86,7 +86,7 @@ class G4BeamTestTank
G4double glassOuterRadius_;
G4double glassThickness_;
- G4ThreeVector position_;
+ // G4ThreeVector position_;
// G4ThreeVector delaunayPoint1_;
// G4ThreeVector delaunayPoint2_;
diff --git a/include/G4Interface.h b/include/G4Interface.h
index e2956af..6fdce4b 100644
--- a/include/G4Interface.h
+++ b/include/G4Interface.h
@@ -2,8 +2,6 @@
#define _TOPSIM_G4INTERFACE_H_
#include "G4RunManager.hh"
-/* #include "G4BeamTestRunManager.h" */
-/* #include <icetray/I3Logging.h> */
#ifdef G4VIS_USE
class G4VisManager;
@@ -13,6 +11,8 @@ class I3Particle;
class G4BeamTestTank;
class G4BeamTestDetectorConstruction;
+extern std::fstream testnew;
+
/**
* Top-level class to handle Geant4. All global things are initialized here (run manager, visualization manager, detector construction, physics list and user actions).
*/
diff --git a/include/G4TankIceSD.h b/include/G4TankIceSD.h
deleted file mode 100644
index 25ce7ca..0000000
--- a/include/G4TankIceSD.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _G4TANKRESPONSE_G4TankIceSD_H
-#define _G4TANKRESPONSE_G4TankIceSD_H
-
-/* #include <icetray/OMKey.h> */
-
-#include <G4VSensitiveDetector.hh>
-#include <G4ThreeVector.hh>
-
-/* #include <map> */
-
-class G4Step;
-class G4HCofThisEvent;
-class G4TouchableHistory;
-
-
-/**
- * An "ice sensitive detector". This sensitive detector is meant to be associated with the ice logical volume in a tank. TODO(shivesh): make the PMT the SD
- *
- * This class keeps track of the energy losses and number Cherenkov photons produced in the ice of each tank.
- * The Cherenkov photons are counted in two ways. One is a simple count and the other is a weighted count
- * where the weight depends on the distance from the photon emission point an the OM.
- */
-class G4TankIceSD : public G4VSensitiveDetector
-{
- public:
- G4TankIceSD(G4String name/* , const std::map<OMKey, G4ThreeVector>& domPositions */);
- ~G4TankIceSD();
-
- /// Methods called by Geant4 framework
- void Initialize(G4HCofThisEvent *HCE);
- G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist);
- void EndOfEvent(G4HCofThisEvent *HCE);
-
- /// Get total energy deposit for a given OM (same for both OMs in a tank)
- G4double GetEDep(/* const OMKey& omKey */) {return sumEdep_/* [omKey] */;}
- /// Get average emission time weighted by deposited energy (same for both OMs in a tank)
- G4double GetTime(/* const OMKey& omKey */) {return cogTime_/* [omKey] */;}
- /// Get number of Cherenkov photons for a given OM (same for both OMs in a tank)
- G4double GetNumCherenkov(/* const OMKey& omKey */) {return cherenkovCounter_/* [omKey] */;}
- /// Get number of Cherenkov photons for a given OM weighted relative to emission point
- G4double GetNumCherenkovWeight(/* const OMKey& omKey */) {return cherenkovCounterWeight_/* [omKey] */;}
-
- private:
- //ExN04TrackerHitsCollection *trackerCollection;
- const G4ThreeVector domPositions_;
-
- /// Cherenkov production. See technical note
- G4double GetCerenkovNumber(G4Step* aStep);
- G4double GetProbability(G4double radius, G4double height);
-
- G4double sumEdep_;
- G4double cogTime_;
- G4double cherenkovCounter_;
- G4double cherenkovCounterWeight_;
-};
-
-#endif