Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
geant4-projects
cosmic-rays
Commits
c512dc90
Commit
c512dc90
authored
Jul 18, 2019
by
MARCOS ANTONIO DE OLIVEIRA DEROS
Browse files
files changed name
parent
71fb2efc
Changes
15
Expand all
Show whitespace changes
Inline
Side-by-side
exampleB1.in
deleted
100644 → 0
View file @
71fb2efc
# Macro file for example B1 test
/run/initialize
# gamma 6 MeV
/gun/particle gamma
/gun/energy 6 MeV
#
/run/printProgress 100
/run/beamOn 1000
#
# proton 210 MeV
/gun/particle proton
/gun/energy 210 MeV
#
/run/beamOn 1000
exampleB1.out
deleted
100644 → 0
View file @
71fb2efc
This diff is collapsed.
Click to expand it.
include/B1ActionInitialization.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1ActionInitialization.hh
/// \brief Definition of the B1ActionInitialization class
#ifndef B1ActionInitialization_h
#define B1ActionInitialization_h 1
#include "G4VUserActionInitialization.hh"
/// Action initialization class.
class
B1ActionInitialization
:
public
G4VUserActionInitialization
{
public:
B1ActionInitialization
();
virtual
~
B1ActionInitialization
();
virtual
void
BuildForMaster
()
const
;
virtual
void
Build
()
const
;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
include/B1Analysis.hh
deleted
100644 → 0
View file @
71fb2efc
#ifndef B1Analysis_h
#define B1Analysis_h 1
//Como vamos utilizar o root como software de análise de dados:
#include "g4root.hh"
#endif
include/B1DetectorConstruction.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1DetectorConstruction.hh
/// \brief Definition of the B1DetectorConstruction class
#ifndef B1DetectorConstruction_h
#define B1DetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
class
G4VPhysicalVolume
;
class
G4LogicalVolume
;
/// Detector construction class to define materials and geometry.
class
B1DetectorConstruction
:
public
G4VUserDetectorConstruction
{
public:
B1DetectorConstruction
();
virtual
~
B1DetectorConstruction
();
virtual
G4VPhysicalVolume
*
Construct
();
G4LogicalVolume
*
GetScoringVolume
()
const
{
return
fScoringVolume
;
}
protected:
G4LogicalVolume
*
fScoringVolume
;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
include/B1EventAction.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1EventAction.hh
/// \brief Definition of the B1EventAction class
#ifndef B1EventAction_h
#define B1EventAction_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
class
B1RunAction
;
/// Event action class
///
class
B1EventAction
:
public
G4UserEventAction
{
public:
B1EventAction
(
B1RunAction
*
runAction
);
virtual
~
B1EventAction
();
virtual
void
BeginOfEventAction
(
const
G4Event
*
event
);
virtual
void
EndOfEventAction
(
const
G4Event
*
event
);
void
AddEdep
(
G4double
edep
)
{
fEdep
+=
edep
;
}
private:
B1RunAction
*
fRunAction
;
G4double
fEdep
;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
include/B1PrimaryGeneratorAction.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1PrimaryGeneratorAction.hh
/// \brief Definition of the B1PrimaryGeneratorAction class
#ifndef B1PrimaryGeneratorAction_h
#define B1PrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ParticleGun.hh"
#include "globals.hh"
class
G4ParticleGun
;
class
G4Event
;
class
G4Box
;
/// The primary generator action class with particle gun.
///
/// The default kinematic is a 6 MeV gamma, randomly distribued
/// in front of the phantom across 80% of the (X,Y) phantom size.
class
B1PrimaryGeneratorAction
:
public
G4VUserPrimaryGeneratorAction
{
public:
B1PrimaryGeneratorAction
();
virtual
~
B1PrimaryGeneratorAction
();
// method from the base class
virtual
void
GeneratePrimaries
(
G4Event
*
);
// method to access particle gun
const
G4ParticleGun
*
GetParticleGun
()
const
{
return
fParticleGun
;
}
private:
G4ParticleGun
*
fParticleGun
;
// pointer a to G4 gun class
G4Box
*
fEnvelopeBox
;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
include/B1RunAction.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1RunAction.hh
/// \brief Definition of the B1RunAction class
#ifndef B1RunAction_h
#define B1RunAction_h 1
#include "G4UserRunAction.hh"
#include "G4Accumulable.hh"
#include "globals.hh"
class
G4Run
;
/// Run action class
///
/// In EndOfRunAction(), it calculates the dose in the selected volume
/// from the energy deposit accumulated via stepping and event actions.
/// The computed dose is then printed on the screen.
class
B1RunAction
:
public
G4UserRunAction
{
public:
B1RunAction
();
virtual
~
B1RunAction
();
// virtual G4Run* GenerateRun();
virtual
void
BeginOfRunAction
(
const
G4Run
*
);
virtual
void
EndOfRunAction
(
const
G4Run
*
);
void
AddEdep
(
G4double
edep
);
private:
//adiciona mais duas instâncias da classe
void
createHistogram
();
void
WriteHistogram
();
G4Accumulable
<
G4double
>
fEdep
;
G4Accumulable
<
G4double
>
fEdep2
;
};
#endif
include/B1SteppingAction.hh
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1SteppingAction.hh
/// \brief Definition of the B1SteppingAction class
#ifndef B1SteppingAction_h
#define B1SteppingAction_h 1
#include "G4UserSteppingAction.hh"
#include "globals.hh"
class
B1EventAction
;
class
G4LogicalVolume
;
/// Stepping action class
///
class
B1SteppingAction
:
public
G4UserSteppingAction
{
public:
B1SteppingAction
(
B1EventAction
*
eventAction
);
virtual
~
B1SteppingAction
();
// method from the base class
virtual
void
UserSteppingAction
(
const
G4Step
*
);
private:
B1EventAction
*
fEventAction
;
G4LogicalVolume
*
fScoringVolume
;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
src/B1ActionInitialization.cc
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1ActionInitialization.cc
/// \brief Implementation of the B1ActionInitialization class
#include "B1ActionInitialization.hh"
#include "B1PrimaryGeneratorAction.hh"
#include "B1RunAction.hh"
#include "B1EventAction.hh"
#include "B1SteppingAction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1ActionInitialization
::
B1ActionInitialization
()
:
G4VUserActionInitialization
()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1ActionInitialization
::~
B1ActionInitialization
()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void
B1ActionInitialization
::
BuildForMaster
()
const
{
B1RunAction
*
runAction
=
new
B1RunAction
;
SetUserAction
(
runAction
);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void
B1ActionInitialization
::
Build
()
const
{
SetUserAction
(
new
B1PrimaryGeneratorAction
);
B1RunAction
*
runAction
=
new
B1RunAction
;
SetUserAction
(
runAction
);
B1EventAction
*
eventAction
=
new
B1EventAction
(
runAction
);
SetUserAction
(
eventAction
);
SetUserAction
(
new
B1SteppingAction
(
eventAction
));
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
src/B1DetectorConstruction.cc
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1DetectorConstruction.cc
/// \brief Implementation of the B1DetectorConstruction class
#include "B1DetectorConstruction.hh"
#include "G4RunManager.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
#include "G4Tubs.hh"
#include "G4Cons.hh"
#include "G4Orb.hh"
#include "G4Sphere.hh"
#include "G4Trd.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1DetectorConstruction
::
B1DetectorConstruction
()
:
G4VUserDetectorConstruction
(),
fScoringVolume
(
0
)
{
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1DetectorConstruction
::~
B1DetectorConstruction
()
{
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume
*
B1DetectorConstruction
::
Construct
()
{
// Get nist material manager
G4NistManager
*
nist
=
G4NistManager
::
Instance
();
G4double
env_sizeXY
=
20
*
cm
,
env_sizeZ
=
30
*
cm
;
// Option to switch on/off checking of volumes overlaps
//
G4bool
checkOverlaps
=
true
;
//
// World
//
//caracteristicas do cilíndro
G4double
raio_i
=
0
;
G4double
raio_e
=
80.
*
m
;
G4double
h
=
100.
*
m
;
G4double
theta_0
=
0.
*
deg
;
G4double
theta_f
=
360.
*
deg
;
G4Material
*
world_mat
=
nist
->
FindOrBuildMaterial
(
"G4_AIR"
);
G4Tubs
*
cilindro
=
new
G4Tubs
(
"world"
,
raio_i
,
raio_e
,
h
,
theta_0
,
theta_f
);
G4LogicalVolume
*
logicWorld
=
new
G4LogicalVolume
(
cilindro
,
//its solid
world_mat
,
//its material
"World"
);
//its name
G4VPhysicalVolume
*
physWorld
=
new
G4PVPlacement
(
0
,
//no rotation
G4ThreeVector
(),
//at (0,0,0)
logicWorld
,
//its logical volume
"World"
,
//its name
0
,
//its mother volume
false
,
//no boolean operation
0
,
//copy number
checkOverlaps
);
//overlaps checking
//
//always return the physical World
//
fScoringVolume
=
logicWorld
;
return
physWorld
;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
src/B1EventAction.cc
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * 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 B1EventAction.cc
/// \brief Implementation of the B1EventAction class
#include "B1EventAction.hh"
#include "B1RunAction.hh"
#include "G4Event.hh"
#include "G4RunManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1EventAction
::
B1EventAction
(
B1RunAction
*
runAction
)
:
G4UserEventAction
(),
fRunAction
(
runAction
),
fEdep
(
0.
)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B1EventAction
::~
B1EventAction
()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void
B1EventAction
::
BeginOfEventAction
(
const
G4Event
*
)
{
fEdep
=
0.
;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void
B1EventAction
::
EndOfEventAction
(
const
G4Event
*
)
{
// accumulate statistics in run action
fRunAction
->
AddEdep
(
fEdep
);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
src/B1PrimaryGeneratorAction.cc
deleted
100644 → 0
View file @
71fb2efc
//
// ********************************************************************
// * License and Disclaimer *