Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 F02ActionInitialization.hh
|
||||
/// \brief Definition of the F02ActionInitialization class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02ActionInitialization_h
|
||||
#define F02ActionInitialization_h 1
|
||||
|
||||
#include "G4VUserActionInitialization.hh"
|
||||
|
||||
class F02DetectorConstruction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
/// Action initialization class.
|
||||
|
||||
class F02ActionInitialization : public G4VUserActionInitialization
|
||||
{
|
||||
public:
|
||||
F02ActionInitialization(F02DetectorConstruction*);
|
||||
virtual ~F02ActionInitialization();
|
||||
|
||||
virtual void BuildForMaster() const;
|
||||
virtual void Build() const;
|
||||
|
||||
virtual G4VSteppingVerbose* InitializeSteppingVerbose() const;
|
||||
|
||||
private:
|
||||
F02DetectorConstruction* fDetConstruction;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -26,11 +26,10 @@
|
||||
/// \file field/field02/include/F02CalorHit.hh
|
||||
/// \brief Definition of the F02CalorHit class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// $Id: F02CalorHit.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02CalorHit_h
|
||||
#define F02CalorHit_h 1
|
||||
@@ -39,15 +38,16 @@
|
||||
#include "G4THitsCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02CalorHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
|
||||
F02CalorHit();
|
||||
~F02CalorHit();
|
||||
F02CalorHit(const F02CalorHit&);
|
||||
virtual ~F02CalorHit();
|
||||
|
||||
const F02CalorHit& operator=(const F02CalorHit&);
|
||||
G4int operator==(const F02CalorHit&) const;
|
||||
|
||||
@@ -55,46 +55,46 @@ class F02CalorHit : public G4VHit
|
||||
inline void operator delete(void*);
|
||||
|
||||
virtual void Print();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
void AddAbs(G4double de, G4double dl) {fEdepAbs += de; fTrackLengthAbs += dl;};
|
||||
void AddGap(G4double de, G4double dl) {fEdepGap += de; fTrackLengthGap += dl;};
|
||||
|
||||
G4double GetEdepAbs() { return fEdepAbs; };
|
||||
G4double GetTrackAbs() { return fTrackLengthAbs; };
|
||||
G4double GetEdepGap() { return fEdepGap; };
|
||||
G4double GetTrackGap() { return fTrackLengthGap; };
|
||||
|
||||
|
||||
void AddAbs(G4double de, G4double dl)
|
||||
{fEdepAbs += de; fTrackLengthAbs += dl;};
|
||||
void AddGap(G4double de, G4double dl)
|
||||
{fEdepGap += de; fTrackLengthGap += dl;};
|
||||
|
||||
G4double GetEdepAbs() { return fEdepAbs; };
|
||||
G4double GetTrackAbs() { return fTrackLengthAbs; };
|
||||
G4double GetEdepGap() { return fEdepGap; };
|
||||
G4double GetTrackGap() { return fTrackLengthGap; };
|
||||
|
||||
private:
|
||||
|
||||
|
||||
G4double fEdepAbs, fTrackLengthAbs;
|
||||
G4double fEdepGap, fTrackLengthGap;
|
||||
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
typedef G4THitsCollection<F02CalorHit> F02CalorHitsCollection;
|
||||
|
||||
extern G4Allocator<F02CalorHit> F02CalorHitAllocator;
|
||||
extern G4ThreadLocal G4Allocator<F02CalorHit>* F02CalorHitAllocator;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void* F02CalorHit::operator new(size_t)
|
||||
{
|
||||
void* aHit;
|
||||
aHit = (void*) F02CalorHitAllocator.MallocSingle();
|
||||
return aHit;
|
||||
if(!F02CalorHitAllocator)
|
||||
F02CalorHitAllocator = new G4Allocator<F02CalorHit>;
|
||||
return (void*) F02CalorHitAllocator->MallocSingle();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void F02CalorHit::operator delete(void* aHit)
|
||||
{
|
||||
F02CalorHitAllocator.FreeSingle((F02CalorHit*) aHit);
|
||||
F02CalorHitAllocator->FreeSingle((F02CalorHit*) aHit);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -26,45 +26,39 @@
|
||||
/// \file field/field02/include/F02CalorimeterSD.hh
|
||||
/// \brief Definition of the F02CalorimeterSD class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// $Id: F02CalorimeterSD.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02CalorimeterSD_h
|
||||
#define F02CalorimeterSD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
|
||||
#include "F02CalorHit.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class F02DetectorConstruction;
|
||||
class G4HCofThisEvent;
|
||||
class G4Step;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02CalorimeterSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
F02CalorimeterSD(G4String, F02DetectorConstruction* );
|
||||
~F02CalorimeterSD();
|
||||
virtual ~F02CalorimeterSD();
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
|
||||
F02CalorHitsCollection* fCalCollection;
|
||||
|
||||
F02CalorHitsCollection* fCalCollection;
|
||||
F02DetectorConstruction* fDetector;
|
||||
G4int* fHitID;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,84 +26,89 @@
|
||||
/// \file field/field02/include/F02DetectorConstruction.hh
|
||||
/// \brief Definition of the F02DetectorConstruction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
// $Id: F02DetectorConstruction.hh 77484 2013-11-25 10:11:57Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02DetectorConstruction_h
|
||||
#define F02DetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
class F02DetectorMessenger;
|
||||
class F02CalorimeterSD;
|
||||
class F02ElectricFieldSetup;
|
||||
#include "G4Cache.hh"
|
||||
|
||||
class G4Box;
|
||||
class G4Tubs;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
class G4Material;
|
||||
class G4UniformMagField;
|
||||
|
||||
class F02DetectorMessenger;
|
||||
class F02CalorimeterSD;
|
||||
class F02ElectricFieldSetup;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
F02DetectorConstruction();
|
||||
~F02DetectorConstruction();
|
||||
virtual ~F02DetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
void SetAbsorberMaterial (G4String);
|
||||
void SetAbsorberThickness(G4double);
|
||||
void SetAbsorberRadius(G4double);
|
||||
|
||||
|
||||
void SetAbsorberMaterial (G4String);
|
||||
void SetAbsorberThickness(G4double);
|
||||
void SetAbsorberRadius(G4double);
|
||||
|
||||
void SetAbsorberZpos(G4double);
|
||||
|
||||
void SetWorldMaterial(G4String);
|
||||
void SetWorldSizeZ(G4double);
|
||||
void SetWorldSizeR(G4double);
|
||||
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
|
||||
void UpdateGeometry();
|
||||
|
||||
public:
|
||||
|
||||
void PrintCalorParameters();
|
||||
|
||||
G4Material* GetWorldMaterial() {return fWorldMaterial;};
|
||||
G4double GetWorldSizeZ() {return fWorldSizeZ;};
|
||||
G4double GetWorldSizeR() {return fWorldSizeR;};
|
||||
|
||||
G4double GetAbsorberZpos() {return fZAbsorber;};
|
||||
G4double GetZStartAbs() {return fZStartAbs;};
|
||||
G4double GetZEndAbs() {return fZEndAbs;};
|
||||
|
||||
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;};
|
||||
G4double GetAbsorberThickness() {return fAbsorberThickness;};
|
||||
G4double GetAbsorberRadius() {return fAbsorberRadius;};
|
||||
|
||||
const G4VPhysicalVolume* GetPhysiWorld() {return fPhysiWorld;};
|
||||
const G4VPhysicalVolume* GetAbsorber() {return fPhysiAbsorber;};
|
||||
G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;};
|
||||
|
||||
void PrintCalorParameters();
|
||||
|
||||
G4Material* GetWorldMaterial() {return fWorldMaterial;}
|
||||
G4double GetWorldSizeZ() {return fWorldSizeZ;}
|
||||
G4double GetWorldSizeR() {return fWorldSizeR;}
|
||||
|
||||
G4double GetAbsorberZpos() {return fZAbsorber;}
|
||||
G4double GetZStartAbs() {return fZStartAbs;}
|
||||
G4double GetZEndAbs() {return fZEndAbs;}
|
||||
|
||||
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;}
|
||||
G4double GetAbsorberThickness(){return fAbsorberThickness;}
|
||||
G4double GetAbsorberRadius() {return fAbsorberRadius;}
|
||||
|
||||
const G4VPhysicalVolume* GetPhysiWorld() {return fPhysiWorld;}
|
||||
const G4VPhysicalVolume* GetAbsorber() {return fPhysiAbsorber;}
|
||||
G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;}
|
||||
|
||||
private:
|
||||
|
||||
G4Tubs* fSolidWorld; // pointer to the solid World
|
||||
G4LogicalVolume* fLogicWorld; // pointer to the logical World
|
||||
G4VPhysicalVolume* fPhysiWorld; // pointer to the physical World
|
||||
F02DetectorMessenger* fDetectorMessenger; // pointer -> Messenger
|
||||
G4Cache<F02CalorimeterSD*> fCalorimeterSD; // pointer -> sensitive detector
|
||||
G4Cache<F02ElectricFieldSetup*> fEmFieldSetup;
|
||||
|
||||
|
||||
G4Tubs* fSolidWorld; // pointer to the solid World
|
||||
G4LogicalVolume* fLogicWorld; // pointer to the logical World
|
||||
G4VPhysicalVolume* fPhysiWorld; // pointer to the physical World
|
||||
|
||||
G4Tubs* fSolidAbsorber; // pointer to the solid Absorber
|
||||
G4LogicalVolume* fLogicAbsorber; // pointer to the logical Absorber
|
||||
G4VPhysicalVolume* fPhysiAbsorber; // pointer to the physical Absorber
|
||||
|
||||
F02ElectricFieldSetup* fEmFieldSetup; // pointer to the field helper
|
||||
F02DetectorMessenger* fDetectorMessenger; // pointer to the Messenger
|
||||
F02CalorimeterSD* fCalorimeterSD; // pointer to the sensitive detector
|
||||
|
||||
|
||||
G4Material* fAbsorberMaterial;
|
||||
G4double fAbsorberThickness;
|
||||
G4double fAbsorberRadius;
|
||||
@@ -111,26 +116,26 @@ class F02DetectorConstruction : public G4VUserDetectorConstruction
|
||||
|
||||
G4double fZAbsorber;
|
||||
G4double fZStartAbs, fZEndAbs;
|
||||
|
||||
|
||||
G4Material* fWorldMaterial;
|
||||
G4double fWorldSizeR;
|
||||
G4double fWorldSizeZ;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void DefineMaterials();
|
||||
void ComputeCalorParameters();
|
||||
G4VPhysicalVolume* ConstructCalorimeter();
|
||||
G4VPhysicalVolume* ConstructCalorimeter();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void F02DetectorConstruction::ComputeCalorParameters()
|
||||
{
|
||||
// Compute derived parameters of the calorimeter
|
||||
// Compute derived parameters of the calorimeter
|
||||
|
||||
fZStartAbs = fZAbsorber-0.5*fAbsorberThickness;
|
||||
fZEndAbs = fZAbsorber+0.5*fAbsorberThickness;
|
||||
fZStartAbs = fZAbsorber-0.5*fAbsorberThickness;
|
||||
fZEndAbs = fZAbsorber+0.5*fAbsorberThickness;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -26,38 +26,40 @@
|
||||
/// \file field/field02/include/F02DetectorMessenger.hh
|
||||
/// \brief Definition of the F02DetectorMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02DetectorMessenger.hh 77123 2013-11-21 16:13:28Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02DetectorMessenger_h
|
||||
#define F02DetectorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class F02DetectorConstruction;
|
||||
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02DetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F02DetectorMessenger(F02DetectorConstruction* );
|
||||
~F02DetectorMessenger();
|
||||
|
||||
virtual ~F02DetectorMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
F02DetectorConstruction* fDetector;
|
||||
|
||||
|
||||
G4UIdirectory* fDetDir;
|
||||
|
||||
G4UIcmdWithAString* fAbsMaterCmd;
|
||||
@@ -69,10 +71,6 @@ class F02DetectorMessenger: public G4UImessenger
|
||||
G4UIcmdWithAString* fWorldMaterCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldZCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldRCmd;
|
||||
|
||||
G4UIcmdWithoutParameter* fUpdateCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,11 +26,15 @@
|
||||
/// \file field/field02/include/F02ElectricFieldSetup.hh
|
||||
/// \brief Definition of the F02ElectricFieldSetup class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// $Id: F02ElectricFieldSetup.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02ElectricFieldSetup_H
|
||||
#define F02ElectricFieldSetup_H
|
||||
#ifndef F02ElectricFieldSetup_h
|
||||
#define F02ElectricFieldSetup_h 1
|
||||
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4UniformElectricField.hh"
|
||||
@@ -41,24 +45,23 @@ class G4EquationOfMotion;
|
||||
class G4Mag_EqRhs;
|
||||
class G4EqMagElectricField;
|
||||
class G4MagIntegratorStepper;
|
||||
class G4MagInt_Driver;
|
||||
class G4MagInt_Driver;
|
||||
class F02FieldMessenger;
|
||||
|
||||
/// A class for control of the Electric Field of the detector.
|
||||
///
|
||||
/// The field for this case is uniform.
|
||||
/// It is simply a 'setup' class that creates the field and necessary
|
||||
/// It is simply a 'setup' class that creates the field and necessary
|
||||
/// other parts
|
||||
|
||||
class F02ElectricFieldSetup
|
||||
class F02ElectricFieldSetup
|
||||
{
|
||||
public:
|
||||
F02ElectricFieldSetup(G4ThreeVector); // The value of the field
|
||||
F02ElectricFieldSetup(); // A zero field
|
||||
|
||||
F02ElectricFieldSetup(G4ThreeVector) ; // The value of the field
|
||||
F02ElectricFieldSetup() ; // A zero field
|
||||
virtual ~F02ElectricFieldSetup();
|
||||
|
||||
~F02ElectricFieldSetup() ;
|
||||
|
||||
void SetStepperType( G4int i) { fStepperType = i ; }
|
||||
|
||||
void SetStepper();
|
||||
@@ -73,26 +76,28 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
// Find the global Field Manager
|
||||
G4FieldManager* GetGlobalFieldManager() ;
|
||||
// Find the global Field Manager
|
||||
|
||||
G4FieldManager* GetGlobalFieldManager();
|
||||
|
||||
private:
|
||||
G4FieldManager* fFieldManager ;
|
||||
|
||||
G4ChordFinder* fChordFinder ;
|
||||
G4FieldManager* fFieldManager;
|
||||
|
||||
G4EqMagElectricField* fEquation ;
|
||||
G4ChordFinder* fChordFinder;
|
||||
|
||||
G4EqMagElectricField* fEquation;
|
||||
|
||||
G4ElectricField* fEMfield;
|
||||
|
||||
G4ThreeVector fElFieldValue ;
|
||||
G4ThreeVector fElFieldValue;
|
||||
|
||||
G4MagIntegratorStepper* fStepper ;
|
||||
G4MagIntegratorStepper* fStepper;
|
||||
G4MagInt_Driver* fIntgrDriver;
|
||||
|
||||
G4int fStepperType ;
|
||||
G4int fStepperType;
|
||||
|
||||
G4double fMinStep ;
|
||||
G4double fMinStep;
|
||||
|
||||
F02FieldMessenger* fFieldMessenger;
|
||||
|
||||
|
||||
@@ -26,42 +26,45 @@
|
||||
/// \file field/field02/include/F02EventAction.hh
|
||||
/// \brief Definition of the F02EventAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02EventAction.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02EventAction_h
|
||||
#define F02EventAction_h 1
|
||||
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4UserEventAction.hh"
|
||||
|
||||
class F02RunAction;
|
||||
class F02EventActionMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02EventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
F02EventAction(F02RunAction* F02RA);
|
||||
~F02EventAction();
|
||||
virtual ~F02EventAction();
|
||||
|
||||
public:
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
void SetEventVerbose(G4int level) {fVerboseLevel = level;}
|
||||
void SetPrintModulo(G4int val) {fPrintModulo = val;};
|
||||
|
||||
void SetPrintModulo(G4int val) {fPrintModulo = val;}
|
||||
|
||||
private:
|
||||
G4int fCalorimeterCollID;
|
||||
|
||||
F02EventActionMessenger* fEventMessenger;
|
||||
F02RunAction* fRunAction;
|
||||
|
||||
G4int fVerboseLevel;
|
||||
G4int fPrintModulo;
|
||||
G4int fPrintModulo;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,35 +26,34 @@
|
||||
/// \file field/field02/include/F02EventActionMessenger.hh
|
||||
/// \brief Definition of the F02EventActionMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02EventActionMessenger.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02EventActionMessenger_h
|
||||
#define F02EventActionMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class F02EventAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02EventActionMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F02EventActionMessenger(F02EventAction*);
|
||||
~F02EventActionMessenger();
|
||||
|
||||
virtual ~F02EventActionMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
|
||||
private:
|
||||
F02EventAction* fEventAction;
|
||||
F02EventAction* fEventAction;
|
||||
|
||||
G4UIcmdWithAnInteger* fSetVerboseCmd;
|
||||
G4UIcmdWithAnInteger* fPrintCmd;
|
||||
};
|
||||
|
||||
@@ -26,45 +26,43 @@
|
||||
/// \file field/field02/include/F02FieldMessenger.hh
|
||||
/// \brief Definition of the F02FieldMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02FieldMessenger.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02FieldMessenger_h
|
||||
#define F02FieldMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class F02ElectricFieldSetup;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADouble;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithoutParameter;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02FieldMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F02FieldMessenger(F02ElectricFieldSetup* );
|
||||
~F02FieldMessenger();
|
||||
|
||||
virtual ~F02FieldMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
F02ElectricFieldSetup* fElFieldSetup;
|
||||
|
||||
G4UIdirectory* fFieldDir;
|
||||
G4UIcmdWithAnInteger* fStepperCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fElFieldCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fMinStepCmd;
|
||||
G4UIcmdWithoutParameter* fUpdateCmd;
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -27,53 +27,37 @@
|
||||
/// \brief Definition of the F02PhysicsList class
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: F02PhysicsList.hh 77794 2013-11-28 09:54:17Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02PhysicsList_h
|
||||
#define F02PhysicsList_h 1
|
||||
|
||||
#include "G4VUserPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4PhotoElectricEffect;
|
||||
class G4ComptonScattering;
|
||||
class G4GammaConversion;
|
||||
|
||||
class G4PAIonisation ;
|
||||
class G4ForwardXrayTR ;
|
||||
class G4eIonisation;
|
||||
class G4eBremsstrahlung;
|
||||
class G4eplusAnnihilation;
|
||||
|
||||
class G4MuIonisation;
|
||||
class G4MuBremsstrahlung;
|
||||
class G4MuPairProduction;
|
||||
|
||||
class G4hIonisation;
|
||||
class G4hIonisationPlus;
|
||||
|
||||
class F02StepCut;
|
||||
|
||||
class F02DetectorConstruction;
|
||||
class F02PhysicsListMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02PhysicsList: public G4VUserPhysicsList
|
||||
{
|
||||
public:
|
||||
F02PhysicsList( F02DetectorConstruction*);
|
||||
~F02PhysicsList();
|
||||
virtual ~F02PhysicsList();
|
||||
|
||||
protected:
|
||||
// Construct particle and physics
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
void SetCuts();
|
||||
|
||||
protected:
|
||||
// these methods Construct particles
|
||||
// these methods construct particles
|
||||
void ConstructBosons();
|
||||
void ConstructLeptons();
|
||||
void ConstructMesons();
|
||||
@@ -81,9 +65,8 @@ class F02PhysicsList: public G4VUserPhysicsList
|
||||
|
||||
protected:
|
||||
|
||||
// these methods Construct physics processes and register them
|
||||
// these methods construct physics processes and register them
|
||||
|
||||
// void AddParameterisation();
|
||||
void ConstructGeneral();
|
||||
void ConstructEM();
|
||||
|
||||
@@ -94,37 +77,17 @@ class F02PhysicsList: public G4VUserPhysicsList
|
||||
|
||||
void SetMaxStep(G4double);
|
||||
|
||||
public:
|
||||
public:
|
||||
|
||||
G4double MaxChargedStep;
|
||||
G4double fMaxChargedStep;
|
||||
|
||||
private:
|
||||
|
||||
G4PhotoElectricEffect* thePhotoElectricEffect;
|
||||
G4ComptonScattering* theComptonScattering;
|
||||
G4GammaConversion* theGammaConversion;
|
||||
|
||||
G4eIonisation* theeminusIonisation;
|
||||
G4eBremsstrahlung* theeminusBremsstrahlung;
|
||||
G4double fCutForGamma;
|
||||
G4double fCutForElectron;
|
||||
|
||||
G4PAIonisation* fPAIonisation ;
|
||||
G4ForwardXrayTR* fForwardXrayTR ;
|
||||
|
||||
G4eIonisation* theeplusIonisation;
|
||||
G4eBremsstrahlung* theeplusBremsstrahlung;
|
||||
G4eplusAnnihilation* theeplusAnnihilation;
|
||||
|
||||
F02StepCut* theeminusStepCut ;
|
||||
F02StepCut* theeplusStepCut ;
|
||||
|
||||
G4double cutForGamma;
|
||||
G4double cutForElectron;
|
||||
|
||||
F02DetectorConstruction* pDet;
|
||||
F02PhysicsListMessenger* physicsListMessenger;
|
||||
F02DetectorConstruction* fDet;
|
||||
F02PhysicsListMessenger* fPhysicsListMessenger;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -27,17 +27,15 @@
|
||||
/// \brief Definition of the F02PhysicsListMessenger class
|
||||
//
|
||||
//
|
||||
// $Id$
|
||||
// $Id: F02PhysicsListMessenger.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02PhysicsListMessenger_h
|
||||
#define F02PhysicsListMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class F02PhysicsList;
|
||||
@@ -45,27 +43,23 @@ class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithADouble;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02PhysicsListMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F02PhysicsListMessenger(F02PhysicsList*);
|
||||
~F02PhysicsListMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
virtual ~F02PhysicsListMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
F02PhysicsList* F02List;
|
||||
F02PhysicsList* fF02List;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* setMaxStepCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetMaxStepCmd;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* cutGCmd;
|
||||
G4UIcmdWithADoubleAndUnit* cutECmd;
|
||||
G4UIcmdWithADoubleAndUnit* cutPCmd;
|
||||
G4UIcmdWithADoubleAndUnit* rCmd;
|
||||
G4UIcmdWithADoubleAndUnit* eCmd;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* fCutGCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fCutECmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,51 +26,53 @@
|
||||
/// \file field/field02/include/F02PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the F02PrimaryGeneratorAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02PrimaryGeneratorAction.hh 77893 2013-11-29 08:57:22Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02PrimaryGeneratorAction_h
|
||||
#define F02PrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
|
||||
class F02DetectorConstruction;
|
||||
class F02PrimaryGeneratorMessenger;
|
||||
class G4ParticleGun;
|
||||
class G4Event;
|
||||
class F02DetectorConstruction;
|
||||
class F02PrimaryGeneratorMessenger;
|
||||
class G4ParticleDefinition;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
F02PrimaryGeneratorAction(F02DetectorConstruction*);
|
||||
~F02PrimaryGeneratorAction();
|
||||
F02PrimaryGeneratorAction(F02DetectorConstruction*);
|
||||
virtual ~F02PrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
void SetRndmFlag(G4String val) { fRndmFlag = val;}
|
||||
void SetRndmFlag(G4String val) { fRndmFlag = val; }
|
||||
void SetXVertex(G4double x);
|
||||
void SetYVertex(G4double y);
|
||||
void SetZVertex(G4double z);
|
||||
|
||||
static G4String GetPrimaryName() ;
|
||||
static G4String GetPrimaryName();
|
||||
|
||||
private:
|
||||
static G4String fgPrimaryParticleName ;
|
||||
G4ParticleGun* fParticleGun; //pointer a to G4 service class
|
||||
F02DetectorConstruction* fDetector; //pointer to the geometry
|
||||
|
||||
G4ParticleGun* fParticleGun;// pointer a to G4 service class
|
||||
F02DetectorConstruction* fDetector; // pointer to the geometry
|
||||
|
||||
F02PrimaryGeneratorMessenger* fMessenger; // messenger of this class
|
||||
G4String fRndmFlag; // flag for a random impact point
|
||||
F02PrimaryGeneratorMessenger* fGunMessenger; //messenger of this class
|
||||
G4String fRndmFlag; //flag for random impact point
|
||||
|
||||
static G4ParticleDefinition* fgPrimaryParticle;
|
||||
G4double fXVertex, fYVertex, fZVertex;
|
||||
G4bool fVertexDefined ;
|
||||
G4bool fVertexDefined;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,34 +26,34 @@
|
||||
/// \file field/field02/include/F02PrimaryGeneratorMessenger.hh
|
||||
/// \brief Definition of the F02PrimaryGeneratorMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02PrimaryGeneratorMessenger.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02PrimaryGeneratorMessenger_h
|
||||
#define F02PrimaryGeneratorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class F02PrimaryGeneratorAction;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02PrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F02PrimaryGeneratorMessenger(F02PrimaryGeneratorAction*);
|
||||
~F02PrimaryGeneratorMessenger();
|
||||
virtual ~F02PrimaryGeneratorMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
|
||||
private:
|
||||
F02PrimaryGeneratorAction* fAction;
|
||||
F02PrimaryGeneratorAction* fAction;
|
||||
G4UIcmdWithAString* fRndmCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetXVertexCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetYVertexCmd;
|
||||
@@ -61,4 +61,3 @@ class F02PrimaryGeneratorMessenger: public G4UImessenger
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,41 +26,40 @@
|
||||
/// \file field/field02/include/F02RunAction.hh
|
||||
/// \brief Definition of the F02RunAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//
|
||||
// $Id: F02RunAction.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02RunAction_h
|
||||
#define F02RunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class F02RunMessenger;
|
||||
class G4Run;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
F02RunAction();
|
||||
~F02RunAction();
|
||||
virtual ~F02RunAction();
|
||||
|
||||
public:
|
||||
virtual void BeginOfRunAction(const G4Run*);
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
|
||||
void SetRndmFreq(G4int val) {fSaveRndm = val;}
|
||||
G4int GetRndmFreq() {return fSaveRndm;}
|
||||
|
||||
G4int GetRndmFreq() const {return fSaveRndm;}
|
||||
|
||||
private:
|
||||
|
||||
F02RunMessenger* fMessenger;
|
||||
G4int fSaveRndm;
|
||||
G4int fSaveRndm;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,45 +26,43 @@
|
||||
/// \file field/field02/include/F02RunMessenger.hh
|
||||
/// \brief Definition of the F02RunMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// $Id: F02RunMessenger.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02RunMessenger_h
|
||||
#define F02RunMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class F02RunAction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02RunMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
F02RunMessenger(F02RunAction* );
|
||||
~F02RunMessenger();
|
||||
virtual ~F02RunMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand* ,G4String );
|
||||
|
||||
private:
|
||||
|
||||
F02RunAction* fRunAction;
|
||||
G4UIdirectory* fRndmDir;
|
||||
G4UIcmdWithAnInteger* fRndmSaveCmd;
|
||||
G4UIcmdWithAString* fRndmReadCmd;
|
||||
F02RunAction* fRunAction;
|
||||
|
||||
G4UIdirectory* fRndmDir;
|
||||
|
||||
G4UIcmdWithAnInteger* fRndmSaveCmd;
|
||||
G4UIcmdWithAString* fRndmReadCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,25 +26,28 @@
|
||||
/// \file field/field02/include/F02StepCut.hh
|
||||
/// \brief Definition of the F02StepCut class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
// $Id: F02StepCut.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02StepCut_h
|
||||
#define F02StepCut_h 1
|
||||
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02StepCut : public G4VDiscreteProcess
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
F02StepCut(const G4String& processName ="UserStepCut" );
|
||||
F02StepCut(F02StepCut &);
|
||||
|
||||
~F02StepCut();
|
||||
virtual ~F02StepCut();
|
||||
|
||||
virtual G4double PostStepGetPhysicalInteractionLength(
|
||||
const G4Track& track,
|
||||
@@ -53,7 +56,7 @@ class F02StepCut : public G4VDiscreteProcess
|
||||
);
|
||||
|
||||
virtual G4VParticleChange* PostStepDoIt(
|
||||
const G4Track& ,
|
||||
const G4Track&,
|
||||
const G4Step&
|
||||
);
|
||||
|
||||
@@ -67,24 +70,19 @@ class F02StepCut : public G4VDiscreteProcess
|
||||
G4ForceCondition* condition
|
||||
);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator as private
|
||||
F02StepCut & operator=(const F02StepCut &right);
|
||||
|
||||
// hide assignment operator as private
|
||||
F02StepCut & operator=(const F02StepCut &right);
|
||||
|
||||
private:
|
||||
|
||||
G4double fMaxChargedStep ;
|
||||
G4double fMaxChargedStep;
|
||||
};
|
||||
|
||||
// inlined function members implementation
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4Step.hh"
|
||||
#include "G4Track.hh"
|
||||
#include "G4UserLimits.hh"
|
||||
#include "G4VParticleChange.hh"
|
||||
#include "G4EnergyLossTables.hh"
|
||||
// inlined function members implementation
|
||||
|
||||
inline G4double F02StepCut::PostStepGetPhysicalInteractionLength(
|
||||
const G4Track& aTrack,
|
||||
@@ -94,17 +92,19 @@ inline G4double F02StepCut::PostStepGetPhysicalInteractionLength(
|
||||
// condition is set to "Not Forced"
|
||||
*condition = NotForced;
|
||||
|
||||
G4double ProposedStep = DBL_MAX;
|
||||
G4double proposedStep = DBL_MAX;
|
||||
|
||||
if((fMaxChargedStep > 0.) &&
|
||||
(aTrack.GetVolume() != 0) &&
|
||||
(aTrack.GetVolume()->GetName() == "Absorber") &&
|
||||
(aTrack.GetDynamicParticle()->GetDefinition()->GetPDGCharge() != 0.))
|
||||
ProposedStep = fMaxChargedStep ;
|
||||
proposedStep = fMaxChargedStep;
|
||||
|
||||
return ProposedStep;
|
||||
return proposedStep;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4VParticleChange* F02StepCut::PostStepDoIt(
|
||||
const G4Track& aTrack,
|
||||
const G4Step&
|
||||
@@ -115,6 +115,8 @@ inline G4VParticleChange* F02StepCut::PostStepDoIt(
|
||||
return &aParticleChange;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4double F02StepCut::GetMeanFreePath(const G4Track&,
|
||||
G4double,
|
||||
G4ForceCondition*)
|
||||
@@ -123,4 +125,3 @@ inline G4double F02StepCut::GetMeanFreePath(const G4Track&,
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -26,28 +26,42 @@
|
||||
/// \file field/field02/include/F02SteppingVerbose.hh
|
||||
/// \brief Definition of the F02SteppingVerbose class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// $Id: F02SteppingVerbose.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
// F01SteppingVerbose.hh
|
||||
//
|
||||
// Description:
|
||||
// This class manages the vervose outputs in G4SteppingManager.
|
||||
//
|
||||
//
|
||||
// Contact:
|
||||
// Questions and comments to this code should be sent to
|
||||
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
|
||||
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef F02SteppingVerbose_h
|
||||
#define F02SteppingVerbose_h 1
|
||||
|
||||
#include "G4SteppingVerbose.hh"
|
||||
|
||||
/// This class manages the verbose outputs in G4SteppingManager.
|
||||
///
|
||||
/// Contact: \n
|
||||
/// Questions and comments to this code should be sent to
|
||||
/// - Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
|
||||
/// - Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F02SteppingVerbose : public G4SteppingVerbose
|
||||
class F02SteppingVerbose : public G4SteppingVerbose
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
F02SteppingVerbose();
|
||||
~F02SteppingVerbose();
|
||||
// Constructor/Destructor
|
||||
virtual ~F02SteppingVerbose();
|
||||
|
||||
virtual void StepInfo();
|
||||
virtual void TrackingStarted();
|
||||
|
||||
Reference in New Issue
Block a user