Import Geant4 11.0.0.beta source tree
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4DetectorConstruction.hh
|
||||
/// \brief Definition of the B4DetectorConstruction class
|
||||
|
||||
@@ -47,7 +47,7 @@ class G4GlobalMagFieldMessenger;
|
||||
/// - the number of layers,
|
||||
/// - the transverse size of the calorimeter (the input face is a square).
|
||||
///
|
||||
/// In addition a transverse uniform magnetic field is defined
|
||||
/// In addition a transverse uniform magnetic field is defined
|
||||
/// via G4GlobalMagFieldMessenger class.
|
||||
|
||||
class B4DetectorConstruction : public G4VUserDetectorConstruction
|
||||
@@ -64,34 +64,34 @@ class B4DetectorConstruction : public G4VUserDetectorConstruction
|
||||
//
|
||||
const G4VPhysicalVolume* GetAbsorberPV() const;
|
||||
const G4VPhysicalVolume* GetGapPV() const;
|
||||
|
||||
|
||||
private:
|
||||
// methods
|
||||
//
|
||||
void DefineMaterials();
|
||||
G4VPhysicalVolume* DefineVolumes();
|
||||
|
||||
|
||||
// data members
|
||||
//
|
||||
static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger;
|
||||
static G4ThreadLocal G4GlobalMagFieldMessenger* fMagFieldMessenger;
|
||||
// magnetic field messenger
|
||||
|
||||
|
||||
G4VPhysicalVolume* fAbsorberPV; // the absorber physical volume
|
||||
G4VPhysicalVolume* fGapPV; // the gap physical volume
|
||||
|
||||
|
||||
G4bool fCheckOverlaps; // option to activate checking of volumes overlaps
|
||||
};
|
||||
|
||||
// inline functions
|
||||
|
||||
inline const G4VPhysicalVolume* B4DetectorConstruction::GetAbsorberPV() const {
|
||||
return fAbsorberPV;
|
||||
inline const G4VPhysicalVolume* B4DetectorConstruction::GetAbsorberPV() const {
|
||||
return fAbsorberPV;
|
||||
}
|
||||
|
||||
inline const G4VPhysicalVolume* B4DetectorConstruction::GetGapPV() const {
|
||||
return fGapPV;
|
||||
inline const G4VPhysicalVolume* B4DetectorConstruction::GetGapPV() const {
|
||||
return fGapPV;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the B4PrimaryGeneratorAction class
|
||||
|
||||
@@ -38,19 +38,19 @@ class G4Event;
|
||||
|
||||
/// The primary generator action class with particle gum.
|
||||
///
|
||||
/// It defines a single particle which hits the calorimeter
|
||||
/// It defines a single particle which hits the calorimeter
|
||||
/// perpendicular to the input face. The type of the particle
|
||||
/// can be changed via the G4 build-in commands of G4ParticleGun class
|
||||
/// can be changed via the G4 build-in commands of G4ParticleGun class
|
||||
/// (see the macros provided with this example).
|
||||
|
||||
class B4PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
B4PrimaryGeneratorAction();
|
||||
B4PrimaryGeneratorAction();
|
||||
virtual ~B4PrimaryGeneratorAction();
|
||||
|
||||
virtual void GeneratePrimaries(G4Event* event);
|
||||
|
||||
|
||||
// set methods
|
||||
void SetRandomFlag(G4bool value);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4bEventAction.hh
|
||||
/// \brief Definition of the B4bEventAction class
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
|
||||
/// Event action class
|
||||
///
|
||||
/// In EndOfEventAction(), it prints the accumulated quantities of the energy
|
||||
/// deposit and track lengths of charged particles in Absober and Gap layers
|
||||
/// In EndOfEventAction(), it prints the accumulated quantities of the energy
|
||||
/// deposit and track lengths of charged particles in Absober and Gap layers
|
||||
/// stored in B4bRunData object.
|
||||
|
||||
class B4bEventAction : public G4UserEventAction
|
||||
@@ -47,15 +47,15 @@ class B4bEventAction : public G4UserEventAction
|
||||
|
||||
virtual void BeginOfEventAction(const G4Event* event);
|
||||
virtual void EndOfEventAction(const G4Event* event);
|
||||
|
||||
|
||||
private:
|
||||
// methods
|
||||
void PrintEventStatistics(G4double absoEdep, G4double absoTrackLength,
|
||||
G4double gapEdep, G4double gapTrackLength) const;
|
||||
};
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4bRunAction.hh
|
||||
/// \brief Definition of the B4bRunAction class
|
||||
|
||||
@@ -37,9 +37,9 @@ class G4Run;
|
||||
|
||||
/// Run action class
|
||||
///
|
||||
/// It accumulates statistic and computes dispersion of the energy deposit
|
||||
/// It accumulates statistic and computes dispersion of the energy deposit
|
||||
/// and track lengths of charged particles with use of analysis tools:
|
||||
/// H1D histograms are created in BeginOfRunAction() for the following
|
||||
/// H1D histograms are created in BeginOfRunAction() for the following
|
||||
/// physics quantities:
|
||||
/// - Edep in absorber
|
||||
/// - Edep in gap
|
||||
@@ -49,7 +49,7 @@ class G4Run;
|
||||
/// The histograms and ntuple are saved in the output file in a format
|
||||
/// accoring to a selected technology in B4Analysis.hh.
|
||||
///
|
||||
/// In EndOfRunAction(), the accumulated statistic and computed
|
||||
/// In EndOfRunAction(), the accumulated statistic and computed
|
||||
/// dispersion is printed.
|
||||
///
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4bRunData.hh
|
||||
/// \brief Definition of the B4bRunData class
|
||||
|
||||
@@ -45,8 +45,8 @@ const G4int kDim = 2;
|
||||
///
|
||||
/// It defines data members to hold the energy deposit and track lengths
|
||||
/// of charged particles in Absober and Gap layers.
|
||||
///
|
||||
/// In order to reduce the number of data members a 2-dimensions array
|
||||
///
|
||||
/// In order to reduce the number of data members a 2-dimensions array
|
||||
/// is introduced for each quantity:
|
||||
/// - fEdep[], fTrackLength[].
|
||||
///
|
||||
@@ -68,18 +68,18 @@ public:
|
||||
// Get methods
|
||||
G4String GetVolumeName(G4int id) const;
|
||||
G4double GetEdep(G4int id) const;
|
||||
G4double GetTrackLength(G4int id) const;
|
||||
G4double GetTrackLength(G4int id) const;
|
||||
|
||||
private:
|
||||
std::array<G4String, kDim> fVolumeNames;
|
||||
std::array<G4double, kDim> fEdep;
|
||||
std::array<G4double, kDim> fTrackLength;
|
||||
std::array<G4double, kDim> fTrackLength;
|
||||
};
|
||||
|
||||
// inline functions
|
||||
|
||||
inline void B4bRunData::Add(G4int id, G4double de, G4double dl) {
|
||||
fEdep[id] += de;
|
||||
fEdep[id] += de;
|
||||
fTrackLength[id] += dl;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ inline G4String B4bRunData::GetVolumeName(G4int id) const {
|
||||
|
||||
inline G4double B4bRunData::GetEdep(G4int id) const {
|
||||
return fEdep[id];
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double B4bRunData::GetTrackLength(G4int id) const {
|
||||
return fTrackLength[id];
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B4bSteppingAction.hh
|
||||
/// \brief Definition of the B4bSteppingAction class
|
||||
|
||||
@@ -36,7 +36,7 @@ class B4DetectorConstruction;
|
||||
|
||||
/// Stepping action class.
|
||||
///
|
||||
/// In UserSteppingAction() there are collected the energy deposit and track
|
||||
/// In UserSteppingAction() there are collected the energy deposit and track
|
||||
/// lengths of charged particles in Absober and Gap layers and
|
||||
/// updated in B4bRunData object.
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
virtual ~B4bSteppingAction();
|
||||
|
||||
virtual void UserSteppingAction(const G4Step* step);
|
||||
|
||||
|
||||
private:
|
||||
const B4DetectorConstruction* fDetConstruction;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user