Import Geant4 11.0.0.beta source tree
This commit is contained in:
@@ -49,4 +49,4 @@ class B5ActionInitialization : public G4VUserActionInitialization
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -46,10 +46,10 @@ class B5CellParameterisation : public G4VPVParameterisation
|
||||
public:
|
||||
B5CellParameterisation();
|
||||
virtual ~B5CellParameterisation();
|
||||
|
||||
|
||||
virtual void ComputeTransformation(
|
||||
const G4int copyNo,G4VPhysicalVolume *physVol) const;
|
||||
|
||||
|
||||
private:
|
||||
std::array<G4double, kNofEmCells> fXCell;
|
||||
std::array<G4double, kNofEmCells> fYCell;
|
||||
|
||||
@@ -52,23 +52,23 @@ class B5DetectorConstruction : public G4VUserDetectorConstruction
|
||||
public:
|
||||
B5DetectorConstruction();
|
||||
virtual ~B5DetectorConstruction();
|
||||
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
|
||||
void SetArmAngle(G4double val);
|
||||
G4double GetArmAngle() { return fArmAngle; }
|
||||
|
||||
|
||||
void ConstructMaterials();
|
||||
|
||||
|
||||
private:
|
||||
void DefineCommands();
|
||||
|
||||
G4GenericMessenger* fMessenger;
|
||||
|
||||
|
||||
static G4ThreadLocal B5MagneticField* fMagneticField;
|
||||
static G4ThreadLocal G4FieldManager* fFieldMgr;
|
||||
|
||||
|
||||
G4LogicalVolume* fHodoscope1Logical;
|
||||
G4LogicalVolume* fHodoscope2Logical;
|
||||
G4LogicalVolume* fWirePlane1Logical;
|
||||
@@ -76,9 +76,9 @@ class B5DetectorConstruction : public G4VUserDetectorConstruction
|
||||
G4LogicalVolume* fCellLogical;
|
||||
G4LogicalVolume* fHadCalScintiLogical;
|
||||
G4LogicalVolume* fMagneticLogical;
|
||||
|
||||
|
||||
std::vector<G4VisAttributes*> fVisAttributes;
|
||||
|
||||
|
||||
G4double fArmAngle;
|
||||
G4RotationMatrix* fArmRotation;
|
||||
G4VPhysicalVolume* fSecondArmPhys;
|
||||
|
||||
@@ -58,10 +58,10 @@ class B5DriftChamberHit : public G4VHit
|
||||
|
||||
const B5DriftChamberHit& operator=(const B5DriftChamberHit &right);
|
||||
G4bool operator==(const B5DriftChamberHit &right) const;
|
||||
|
||||
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void *aHit);
|
||||
|
||||
|
||||
virtual void Draw();
|
||||
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
|
||||
virtual std::vector<G4AttValue>* CreateAttValues() const;
|
||||
@@ -78,7 +78,7 @@ class B5DriftChamberHit : public G4VHit
|
||||
|
||||
void SetWorldPos(G4ThreeVector xyz) { fWorldPos = xyz; }
|
||||
G4ThreeVector GetWorldPos() const { return fWorldPos; }
|
||||
|
||||
|
||||
private:
|
||||
G4int fLayerID;
|
||||
G4double fTime;
|
||||
|
||||
@@ -45,10 +45,10 @@ class B5DriftChamberSD : public G4VSensitiveDetector
|
||||
public:
|
||||
B5DriftChamberSD(G4String name);
|
||||
virtual ~B5DriftChamberSD();
|
||||
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*HCE);
|
||||
virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist);
|
||||
|
||||
|
||||
private:
|
||||
B5DriftChamberHitsCollection* fHitsCollection;
|
||||
G4int fHCID;
|
||||
|
||||
@@ -45,7 +45,7 @@ class G4AttValue;
|
||||
///
|
||||
/// It records:
|
||||
/// - the cell ID
|
||||
/// - the energy deposit
|
||||
/// - the energy deposit
|
||||
/// - the cell logical volume, its position and rotation
|
||||
|
||||
class B5EmCalorimeterHit : public G4VHit
|
||||
@@ -58,15 +58,15 @@ class B5EmCalorimeterHit : public G4VHit
|
||||
|
||||
const B5EmCalorimeterHit& operator=(const B5EmCalorimeterHit &right);
|
||||
G4bool operator==(const B5EmCalorimeterHit &right) const;
|
||||
|
||||
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void *aHit);
|
||||
|
||||
|
||||
virtual void Draw();
|
||||
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
|
||||
virtual std::vector<G4AttValue>* CreateAttValues() const;
|
||||
virtual void Print();
|
||||
|
||||
|
||||
void SetCellID(G4int z) { fCellID = z; }
|
||||
G4int GetCellID() const { return fCellID; }
|
||||
|
||||
@@ -82,7 +82,7 @@ class B5EmCalorimeterHit : public G4VHit
|
||||
|
||||
void SetLogV(G4LogicalVolume* val) { fPLogV = val; }
|
||||
const G4LogicalVolume* GetLogV() const { return fPLogV; }
|
||||
|
||||
|
||||
private:
|
||||
G4int fCellID;
|
||||
G4double fEdep;
|
||||
|
||||
@@ -41,14 +41,14 @@ class G4TouchableHistory;
|
||||
/// EM calorimeter sensitive detector
|
||||
|
||||
class B5EmCalorimeterSD : public G4VSensitiveDetector
|
||||
{
|
||||
{
|
||||
public:
|
||||
B5EmCalorimeterSD(G4String name);
|
||||
virtual ~B5EmCalorimeterSD();
|
||||
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*HCE);
|
||||
virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
|
||||
|
||||
private:
|
||||
B5EmCalorimeterHitsCollection* fHitsCollection;
|
||||
G4int fHCID;
|
||||
|
||||
@@ -51,13 +51,13 @@ class B5EventAction : public G4UserEventAction
|
||||
public:
|
||||
B5EventAction();
|
||||
virtual ~B5EventAction();
|
||||
|
||||
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
std::vector<G4double>& GetEmCalEdep() { return fCalEdep[kEm]; }
|
||||
std::vector<G4double>& GetHadCalEdep() { return fCalEdep[kHad]; }
|
||||
|
||||
|
||||
private:
|
||||
// hit collections Ids
|
||||
std::array<G4int, kDim> fHodHCID;
|
||||
|
||||
@@ -45,7 +45,7 @@ class G4AttValue;
|
||||
///
|
||||
/// It records:
|
||||
/// - the cell column ID and row ID
|
||||
/// - the energy deposit
|
||||
/// - the energy deposit
|
||||
/// - the cell position and rotation
|
||||
|
||||
class B5HadCalorimeterHit : public G4VHit
|
||||
@@ -58,15 +58,15 @@ class B5HadCalorimeterHit : public G4VHit
|
||||
|
||||
const B5HadCalorimeterHit& operator=(const B5HadCalorimeterHit &right);
|
||||
G4bool operator==(const B5HadCalorimeterHit &right) const;
|
||||
|
||||
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void *aHit);
|
||||
|
||||
|
||||
virtual void Draw();
|
||||
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
|
||||
virtual std::vector<G4AttValue>* CreateAttValues() const;
|
||||
virtual void Print();
|
||||
|
||||
|
||||
void SetColumnID(G4int z) { fColumnID = z; }
|
||||
G4int GetColumnID() const { return fColumnID; }
|
||||
|
||||
@@ -82,7 +82,7 @@ class B5HadCalorimeterHit : public G4VHit
|
||||
|
||||
void SetRot(G4RotationMatrix rmat) { fRot = rmat; }
|
||||
G4RotationMatrix GetRot() const { return fRot; }
|
||||
|
||||
|
||||
private:
|
||||
G4int fColumnID;
|
||||
G4int fRowID;
|
||||
|
||||
@@ -41,14 +41,14 @@ class G4TouchableHistory;
|
||||
/// Hadron calorimeter sensitive detector
|
||||
|
||||
class B5HadCalorimeterSD : public G4VSensitiveDetector
|
||||
{
|
||||
{
|
||||
public:
|
||||
B5HadCalorimeterSD(G4String name);
|
||||
virtual ~B5HadCalorimeterSD();
|
||||
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*HCE);
|
||||
virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
|
||||
|
||||
private:
|
||||
B5HadCalorimeterHitsCollection* fHitsCollection;
|
||||
G4int fHCID;
|
||||
|
||||
@@ -57,15 +57,15 @@ class B5HodoscopeHit : public G4VHit
|
||||
|
||||
const B5HodoscopeHit& operator=(const B5HodoscopeHit &right);
|
||||
G4bool operator==(const B5HodoscopeHit &right) const;
|
||||
|
||||
|
||||
inline void *operator new(size_t);
|
||||
inline void operator delete(void*aHit);
|
||||
|
||||
|
||||
void Draw();
|
||||
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
|
||||
virtual std::vector<G4AttValue>* CreateAttValues() const;
|
||||
void Print();
|
||||
|
||||
|
||||
G4int GetID() const { return fId; }
|
||||
|
||||
void SetTime(G4double val) { fTime = val; }
|
||||
@@ -79,7 +79,7 @@ class B5HodoscopeHit : public G4VHit
|
||||
|
||||
void SetLogV(G4LogicalVolume* val) { fPLogV = val; }
|
||||
const G4LogicalVolume* GetLogV() const { return fPLogV; }
|
||||
|
||||
|
||||
private:
|
||||
G4int fId;
|
||||
G4double fTime;
|
||||
|
||||
@@ -44,10 +44,10 @@ class B5HodoscopeSD : public G4VSensitiveDetector
|
||||
public:
|
||||
B5HodoscopeSD(G4String name);
|
||||
virtual ~B5HodoscopeSD();
|
||||
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*HCE);
|
||||
virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
|
||||
|
||||
|
||||
private:
|
||||
B5HodoscopeHitsCollection* fHitsCollection;
|
||||
G4int fHCID;
|
||||
|
||||
@@ -42,12 +42,12 @@ class B5MagneticField : public G4MagneticField
|
||||
public:
|
||||
B5MagneticField();
|
||||
virtual ~B5MagneticField();
|
||||
|
||||
|
||||
virtual void GetFieldValue(const G4double point[4],double* bField ) const;
|
||||
|
||||
|
||||
void SetField(G4double val) { fBy = val; }
|
||||
G4double GetField() const { return fBy; }
|
||||
|
||||
|
||||
private:
|
||||
void DefineCommands();
|
||||
|
||||
|
||||
@@ -41,10 +41,10 @@ class G4ParticleDefinition;
|
||||
/// Primary generator
|
||||
///
|
||||
/// A single particle is generated.
|
||||
/// User can select
|
||||
/// User can select
|
||||
/// - the initial momentum and angle
|
||||
/// - the momentum and angle spreads
|
||||
/// - random selection of a particle type from proton, kaon+, pi+, muon+, e+
|
||||
/// - random selection of a particle type from proton, kaon+, pi+, muon+, e+
|
||||
|
||||
|
||||
class B5PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
@@ -52,9 +52,9 @@ class B5PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
public:
|
||||
B5PrimaryGeneratorAction();
|
||||
virtual ~B5PrimaryGeneratorAction();
|
||||
|
||||
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
|
||||
|
||||
void SetMomentum(G4double val) { fMomentum = val; }
|
||||
G4double GetMomentum() const { return fMomentum; }
|
||||
|
||||
@@ -66,7 +66,7 @@ class B5PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
|
||||
void SetRandomize(G4bool val) { fRandomizePrimary = val; }
|
||||
G4bool GetRandomize() const { return fRandomizePrimary; }
|
||||
|
||||
|
||||
private:
|
||||
void DefineCommands();
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file B5RunAction.hh
|
||||
/// \brief Definition of the B5RunAction class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user