Import Geant4 11.0.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2021-06-25 16:12:29 +02:00
parent c968e26a39
commit 6399a014b6
4200 changed files with 207479 additions and 237366 deletions
+27 -16
View File
@@ -46,25 +46,36 @@ class G4SteppingVerbose : public G4VSteppingVerbose
// Constructor/Destructor
G4SteppingVerbose();
~G4SteppingVerbose();
virtual ~G4SteppingVerbose();
virtual G4VSteppingVerbose* Clone()
{ return new G4SteppingVerbose; }
// Methods to be invoked in the SteppingManager
void NewStep();
void AtRestDoItInvoked();
void AlongStepDoItAllDone();
void PostStepDoItAllDone();
void AlongStepDoItOneByOne();
void PostStepDoItOneByOne();
void StepInfo();
void TrackingStarted();
void DPSLStarted();
void DPSLUserLimit();
void DPSLPostStep();
void DPSLAlongStep();
void VerboseTrack();
void VerboseParticleChange();
void ShowStep() const;
virtual void NewStep();
virtual void AtRestDoItInvoked();
virtual void AlongStepDoItAllDone();
virtual void PostStepDoItAllDone();
virtual void AlongStepDoItOneByOne();
virtual void PostStepDoItOneByOne();
virtual void StepInfo();
virtual void TrackingStarted();
virtual void DPSLStarted();
virtual void DPSLUserLimit();
virtual void DPSLPostStep();
virtual void DPSLAlongStep();
virtual void VerboseTrack();
virtual void VerboseParticleChange();
virtual void ShowStep() const;
private:
static G4int useBestUnitPrecision;
public:
static void UseBestUnit(G4int prec = 4);
static G4int BestUnitPrecision();
};
#endif
@@ -0,0 +1,84 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
/// \file
/// \brief Definition of the G4SteppingVerboseWithUnits class
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
// Stepping Verbose with units for all the applicable double values
// This class is ported from TestEm2 extended example
// Original author : Michel Maire (LAPP)
// Porting with addition of UI command : Makoto Asai (SLAC) Feb.23.2021
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef G4SteppingVerboseWithUnits_hh
#define G4SteppingVerboseWithUnits_hh 1
#include "G4SteppingVerbose.hh"
class G4GenericMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4SteppingVerboseWithUnits : public G4SteppingVerbose
{
public:
G4SteppingVerboseWithUnits(G4int precision = 4);
~G4SteppingVerboseWithUnits() override;
G4VSteppingVerbose* Clone() override
{ return new G4SteppingVerboseWithUnits; }
void SetManager(G4SteppingManager* const) override;
void TrackingStarted() override;
void StepInfo() override;
void AtRestDoItInvoked() override;
void AlongStepDoItAllDone()override;
void PostStepDoItAllDone()override;
void AlongStepDoItOneByOne()override;
void PostStepDoItOneByOne()override;
void DPSLStarted() override;
void DPSLUserLimit() override;
void DPSLPostStep() override;
void DPSLAlongStep() override;
void VerboseTrack() override;
void VerboseParticleChange() override;
void ShowStep() const override;
private:
G4int fprec;
G4GenericMessenger* fmessenger = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
+10 -3
View File
@@ -48,6 +48,8 @@
#include "G4ForceCondition.hh" // enum 'track'
#include "G4GPILSelection.hh" // enum 'track'
#include "trkgdefs.hh"
class G4SteppingManager;
class G4Navigator;
class G4VPhysicalVolume;
@@ -69,16 +71,19 @@ class G4VSteppingVerbose
static void SetInstance(G4VSteppingVerbose* Instance);
static G4VSteppingVerbose* GetInstance();
static G4VSteppingVerbose* GetMasterInstance();
static G4int GetSilent();
static void SetSilent(G4int fSilent);
static G4int GetSilentStepInfo();
static void SetSilentStepInfo(G4int fSilent);
virtual G4VSteppingVerbose* Clone();
// these method are invoked by G4SteppingManager
virtual void NewStep() = 0;
void CopyState();
void SetManager(G4SteppingManager* const);
virtual void SetManager(G4SteppingManager* const);
virtual void AtRestDoItInvoked() = 0;
virtual void AlongStepDoItAllDone() = 0;
virtual void PostStepDoItAllDone() = 0;
@@ -99,9 +104,11 @@ class G4VSteppingVerbose
static G4ThreadLocal G4VSteppingVerbose* fInstance;
// pointer to the instance
static G4ThreadLocal G4int Silent;
static G4VSteppingVerbose* fMasterInstance;
// pointer to the instance in master thread
G4TRACKING_DLL static G4ThreadLocal G4int Silent;
//flag for verbosity
static G4ThreadLocal G4int SilentStepInfo;
G4TRACKING_DLL static G4ThreadLocal G4int SilentStepInfo;
//another flag for verbosity
G4SteppingManager* fManager = nullptr;