From e3079fb2367c26f767be41e6c313d960c517bbcd Mon Sep 17 00:00:00 2001 From: shivesh Date: Thu, 22 Aug 2019 01:37:19 +0100 Subject: Thu 22 Aug 01:37:19 BST 2019 --- include/#G4BeamTestEventAction.h# | 44 ---- include/G4BeamTestDetectorConstruction.h | 6 +- include/G4BeamTestEMPhysics.h | 6 +- include/G4BeamTestEventAction.h | 6 +- include/G4BeamTestHadronPhysics.h.backup | 327 -------------------------- include/G4BeamTestIonPhysics.h.backup | 88 ------- include/G4BeamTestMuonPhysics.h | 4 +- include/G4BeamTestPrimaryGeneratorMessenger.h | 4 +- include/G4BeamTestRunManager.h.backup | 34 --- include/G4BeamTestSC4SD.h | 42 ++++ include/G4BeamTestSiHit.h | 2 +- include/G4BeamTestSiSD.h | 7 +- include/G4BeamTestTank.h | 4 +- include/G4Interface.h | 4 +- include/G4TankIceSD.h | 57 ----- 15 files changed, 61 insertions(+), 574 deletions(-) delete mode 100644 include/#G4BeamTestEventAction.h# delete mode 100644 include/G4BeamTestHadronPhysics.h.backup delete mode 100644 include/G4BeamTestIonPhysics.h.backup delete mode 100644 include/G4BeamTestRunManager.h.backup create mode 100644 include/G4BeamTestSC4SD.h delete mode 100644 include/G4TankIceSD.h (limited to 'include') 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 #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 - -#include - -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Low-energy Models -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// High-energy Models - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Stopping processes -#include -#include - -#ifdef TRIUMF_STOP_PIMINUS -#include -#else -#include -#endif -#ifdef TRIUMF_STOP_KMINUS -#include -#else -#include -#endif - -// quark gluon string model with chips afterburner. -#include -#include -#include -#include -#include -#include -#include -#include - -/** - @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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/** - @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 - -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 + +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 */ #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 */ - -#include -#include - -/* #include */ - -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& 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 -- cgit v1.2.3