Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • addWoodcockProcess
  • atlas-wdck
  • atlaspatch_G4GammaGeneralProcess
  • branch_10.6.3.10_dev01
  • fix-ATLASSIM-6363-6396
  • fix-for-ATLASSIM-6923
  • fix-mc23-wdck
  • fix-woodcock-build
  • geant4-0.0-release
  • geant4-0.1-release
  • geant4-1.0-release
  • geant4-1.1-release
  • geant4-10.0-release
  • geant4-10.1-release
  • geant4-10.1.3-atlaspatch
  • geant4-10.1.3-atlastests
  • geant4-10.2-atlaspatch
  • geant4-10.2-release
  • geant4-10.2.3-atlaspatch
  • geant4-10.3-release
  • geant4-10.3.1-atlaspatch
  • geant4-10.3.3-atlaspatch
  • geant4-10.4-atlaspatch
  • geant4-10.4.2-atlaspatch
  • geant4-10.4.3-atlaspatch
  • geant4-10.5.0.beta-atlaspatch
  • geant4-10.5.1-atlaspatch
  • geant4-10.5.1-singlelibrarytest
  • geant4-10.6.0-atlaspatch
  • geant4-10.6.0.beta-atlaspatch
  • geant4-10.6.2-atlaspatch
  • geant4-10.6.2-singlelibrarytest
  • geant4-10.6.3-atlaspatch
  • geant4-10.6.3-atlaspatch-QSSStepper
  • geant4-10.6.3.8-hadronicPatch
  • geant4-10.7.0.beta-atlaspatch
  • geant4-10.7.0.beta-atlaspatch-G4MagIntDrv.patch
  • geant4-10.7.1-atlaspatch
  • geant4-10.7.2-atlaspatch
  • geant4-11.1.1-atlaspatch
  • geant4-11.1.2-atlaspatch
  • geant4-11.1.3-atlaspatch
  • geant4-11.2.2-atlaspatch
  • geant4-11.3.0-atlaspatch
  • geant4-11.3.2-atlaspatch
  • geant4-2.0-release
  • geant4-3.0-release
  • geant4-3.1-release
  • geant4-3.2-release
  • geant4-4.0-release
  • geant4-4.1-release
  • geant4-5.0-release
  • geant4-5.1-release
  • geant4-5.2-release
  • geant4-6.0-release
  • geant4-6.1-release
  • geant4-6.2-release
  • geant4-7.0-release
  • geant4-7.1-release
  • geant4-8.0-release
  • geant4-8.1-release
  • geant4-8.2-release
  • geant4-8.3-release
  • geant4-9.0-release
  • geant4-9.1-release
  • geant4-9.2-release
  • geant4-9.3-release
  • geant4-9.4-release
  • geant4-9.5-release
  • geant4-9.6-release
  • geant4-9.6.3-atlaspatch
  • geant4-v10.6.0.1-G4MagIntDrv.patch
  • geant4.10.6.3.5
  • geometryTesting
  • master
  • mc23-fix-loopers
  • quasistableTesting
  • temporaryFixG4GenericTrap
  • v10.1.3.2_newElastic
  • v10.6.3.3-atlassim-5739
  • v10.6.3.3_ATLASSIM_5598_BERT
  • v10.6.3.3_ATLASSIM_5598_BERT_FTFP
  • 10.6.3.10_dev01
  • 10.6.3.10_dev02
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.1.0
  • v0.1.1
  • v1.0.0
  • v1.1.0
  • v10.0.0
  • v10.0.1
  • v10.0.2
  • v10.0.3
  • v10.0.4
  • v10.1.0
  • v10.1.1
  • v10.1.2
  • v10.1.3
  • v10.1.3.1
  • v10.1.3.2
  • v10.1.3.2_newElastic
  • v10.1.3.2qs
  • v10.1.3.3
  • v10.1.3.4
  • v10.1.3.5
  • v10.1.3.6
  • v10.1.3.7
  • v10.1.3.7_ConfigureForTrackPatch
  • v10.1.3.8
  • v10.1.3.8.1
  • v10.1.3.t1
  • v10.1.3.t2
  • v10.2.0
  • v10.2.1
  • v10.2.2
  • v10.2.3
  • v10.2.3.1
  • v10.3.0
  • v10.3.0.beta
  • v10.3.1
  • v10.3.1.1
  • v10.3.2
  • v10.3.3
  • v10.4.0
  • v10.4.0.beta
  • v10.4.1
  • v10.4.2
  • v10.4.2.1
  • v10.4.3
  • v10.4.3.1
  • v10.5.0
  • v10.5.0.1
  • v10.5.0.1_ReportLoopingParticle
  • v10.5.0.1_verboseG4Exception
  • v10.5.0.beta
  • v10.5.1
  • v10.6.0
  • v10.6.0.1
  • v10.6.0.1_G4MagInt_Drv
  • v10.6.0.beta
  • v10.6.1
  • v10.6.2
  • v10.6.3
  • v10.6.3.10
  • v10.6.3.11
  • v10.6.3.12
  • v10.6.3.13
  • v10.6.3.14
  • v10.6.3.15
  • v10.6.3.2
  • v10.6.3.3
  • v10.6.3.4
  • v10.6.3.5
  • v10.6.3.6
  • v10.6.3.7
  • v10.6.3.8
  • v10.6.3.8_hadronicPatch
  • v10.6.3.9
  • v10.7.0
  • v10.7.0.beta
  • v10.7.0.beta.1
  • v10.7.0.beta.1_G4MagInt_Drv
  • v10.7.1
  • v10.7.2
  • v10.7.3
  • v10.7.4
  • v11.0.0
  • v11.0.0.beta
  • v11.0.1
  • v11.0.2
  • v11.0.3
  • v11.0.4
  • v11.1.0
  • v11.1.0.beta
  • v11.1.1
  • v11.1.2
  • v11.1.3
  • v11.1.3.1
  • v11.1.3.2
182 results

Target

Select target project
  • mnovak/geant4
  • ghugo/geant4
  • cbira/geant4
  • jebrown/geant4
  • averbyts/geant4
  • cirrone/geant4
  • jrodrig2/geant4
  • ekourlit/geant4
  • zuysal/geant4
  • whopkins/geant4
  • mbandier/geant4
  • ldesorgh/geant4
  • mpuccio/geant4
  • ivorobye/geant4
  • kurasige/geant4
  • pcanal/geant4
  • ychiu/geant4
  • mrenda/geant4
  • ssnyder/geant4
  • graemes/geant4
  • atlas-simulation-team/geant4
21 results
Select Git revision
  • geant4-0.0-release
  • geant4-0.1-release
  • geant4-1.0-release
  • geant4-1.1-release
  • geant4-10.0-release
  • geant4-10.1-release
  • geant4-10.2-release
  • geant4-10.3-release
  • geant4-10.4-release
  • geant4-10.5-release
  • geant4-10.6-release
  • geant4-10.7-release
  • geant4-11.0-release
  • geant4-11.1-release
  • geant4-11.2-release
  • geant4-11.3-release
  • geant4-2.0-release
  • geant4-3.0-release
  • geant4-3.1-release
  • geant4-3.2-release
  • geant4-4.0-release
  • geant4-4.1-release
  • geant4-5.0-release
  • geant4-5.1-release
  • geant4-5.2-release
  • geant4-6.0-release
  • geant4-6.1-release
  • geant4-6.2-release
  • geant4-7.0-release
  • geant4-7.1-release
  • geant4-8.0-release
  • geant4-8.1-release
  • geant4-8.2-release
  • geant4-8.3-release
  • geant4-9.0-release
  • geant4-9.1-release
  • geant4-9.2-release
  • geant4-9.3-release
  • geant4-9.4-release
  • geant4-9.5-release
  • geant4-9.6-release
  • master
  • geant4-10-00-patch-04-ref
  • geant4-10-01-patch-03-ref
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.1.0
  • v0.1.1
  • v1.0.0
  • v1.1.0
  • v10.0.0
  • v10.0.1
  • v10.0.2
  • v10.0.3
  • v10.0.4
  • v10.1.0
  • v10.1.1
  • v10.1.2
  • v10.1.3
  • v10.2.0
  • v10.2.1
  • v10.2.2
  • v10.2.3
  • v10.3.0
  • v10.3.0.beta
  • v10.3.1
  • v10.3.2
  • v10.3.3
  • v10.4.0
  • v10.4.0.beta
  • v10.4.1
  • v10.4.2
  • v10.4.3
  • v10.5.0
  • v10.5.0.beta
  • v10.5.1
  • v10.6.0
  • v10.6.0.beta
  • v10.6.1
  • v10.6.2
  • v10.6.3
  • v10.7.0
  • v10.7.0.beta
  • v10.7.1
  • v10.7.2
  • v10.7.3
  • v10.7.4
  • v11.0.0
  • v11.0.0.beta
  • v11.0.1
  • v11.0.2
  • v11.0.3
  • v11.0.4
  • v11.1.0
  • v11.1.0.beta
  • v11.1.1
  • v11.1.2
  • v11.1.3
  • v11.2.0
  • v11.2.0.beta
  • v11.2.1
  • v11.2.2
  • v11.3.0
  • v11.3.0.beta
  • v11.3.1
  • v11.3.2
  • v11.4.0.beta
  • v2.0.0
  • v2.0.1
  • v3.0.0
  • v3.1.0
  • v3.2.0
  • v4.0.0
  • v4.0.1
  • v4.0.2
  • v4.1.0
  • v4.1.1
  • v5.0.0
  • v5.0.1
  • v5.1.0
  • v5.1.1
  • v5.2.0
  • v5.2.1
  • v5.2.2
  • v6.0.0
  • v6.0.1
  • v6.1.0
  • v6.2.0
  • v6.2.1
  • v6.2.2
  • v7.0.0
  • v7.0.1
  • v7.1.0
  • v7.1.1
  • v8.0.0
  • v8.0.1
  • v8.1.0
  • v8.1.1
  • v8.1.2
  • v8.2.0
142 results
Show changes
Showing
with 4342 additions and 5561 deletions
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4PhysicsList.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef G3toG4PhysicsList_h
#define G3toG4PhysicsList_h 1
#include "G4VUserPhysicsList.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G3toG4PhysicsList: public G4VUserPhysicsList
{
public:
G3toG4PhysicsList();
~G3toG4PhysicsList();
protected:
// Construct particle and physics
virtual void ConstructParticle();
virtual void ConstructProcess();
virtual void SetCuts();
public:
// Set/Get cut values
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForProton(G4double);
G4double GetCutForGamma() const;
G4double GetCutForElectron() const;
G4double GetCutForProton() const;
protected:
// these methods Construct particles
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBaryons();
protected:
// these methods Construct physics processes and register them
void ConstructGeneral();
void ConstructEM();
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForProton;
G4double currentDefaultCut;
};
#endif
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4PrimaryGeneratorAction.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
#ifndef G3toG4PrimaryGeneratorAction_h
#define G3toG4PrimaryGeneratorAction_h 1
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ThreeVector.hh"
class G3toG4PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
G3toG4PrimaryGeneratorAction();
~G3toG4PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event* anEvent);
private:
G4ParticleGun* particleGun;
G4ThreeVector GetRandomDirection();
};
#endif
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4RunAction.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
#ifndef G3toG4RunAction_h
#define G3toG4RunAction_h 1
#include "G4UserRunAction.hh"
#include "globals.hh"
class G4Run;
class G3toG4RunAction : public G4UserRunAction
{
public:
G3toG4RunAction();
~G3toG4RunAction();
public:
void BeginOfRunAction(const G4Run* aRun);
void EndOfRunAction(const G4Run* aRun);
private:
G4int runIDcounter;
};
#endif
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4VisManager.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
// Example Visualization Manager implementing virtual function
// RegisterGraphicsSystems. Exploits C-pre-processor variables
// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if
// environment variables of the same name are set.
// So all you have to do is set environment variables and compile and
// instantiate this in your main().
// Alternatively, you can implement an empty function here and just
// register the systems you want in your main(), e.g.:
// G4VisManager* myVisManager = new MyVisManager;
// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef G3toG4VisManager_h
#define G3toG4VisManager_h 1
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G3toG4VisManager: public G4VisManager {
public:
G3toG4VisManager ();
private:
void RegisterGraphicsSystems ();
};
#endif
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4DetectorConstruction.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//--------------------------------------------------------------------------
// G3toG4DetectorConstruction. Most the work is Done in
// G4BuildGeom, which returns a G4LogicalVolume*, a pointer to the
// top-level logiical volume in the detector defined by the call List file
// inFile
//--------------------------------------------------------------------------
#include "G4ios.hh"
#include "G3toG4DetectorConstruction.hh"
#include "G4VisAttributes.hh"
#include "G4Colour.hh"
#include "G4Material.hh"
#include "G4Box.hh"
G3toG4DetectorConstruction::G3toG4DetectorConstruction(G4String inFile){
_inFile = inFile;
G4cout << "Instantiated G3toG4DetectorConstruction using call list file \""
<< _inFile << "\"" << G4endl;
}
G3toG4DetectorConstruction::~G3toG4DetectorConstruction(){
// G4cout << "Deleted G3toG4DetectorConstruction..." << G4endl;
}
G4VPhysicalVolume*
G3toG4DetectorConstruction::Construct(){
_lv = G4BuildGeom(_inFile);
//_lv = SimpleConstruct();
if (_lv != 0) {
_pv = new G4PVPlacement(0, G4ThreeVector(), _lv, _lv->GetName(), 0,
false, 0);
G4cout << "Top-level G3toG4 logical volume " << _lv->GetName() << " "
<< *(_lv -> GetVisAttributes()) << G4endl;
} else
G4cerr << "creation of logical mother failed !!!" << G4endl;
return _pv;
}
G4LogicalVolume*
G3toG4DetectorConstruction::SimpleConstruct(){
G4String name, symbol; //a=mass of a mole;
G4double a, z, density, fractionmass; //z=mean number of protons;
G4int ncomponents, iz, n; //iz=number of protons in an isotope;
// n=number of nucleons in an isotope;
a = 14.01*g/mole;
G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
a = 16.00*g/mole;
G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a);
//
// define a material from elements. case 2: mixture by fractional mass
//
density = 1.290*mg/cm3;
G4Material* Air = new G4Material(name="Air" , density, ncomponents=2);
Air->AddElement(N, fractionmass=0.7);
Air->AddElement(O, fractionmass=0.3);
G4VSolid* Mother = new G4Box("TestMother", //its name
100*cm, 100*cm, 100*cm); //its size
G4VSolid* Daughter = new G4Box("TestDaughter", 50*cm, 20*cm, 10*cm);
G4LogicalVolume* logicMother = new G4LogicalVolume(Mother, //its solid
Air, //its material
"LTestMother");//its name
G4LogicalVolume* logicDaughter = new G4LogicalVolume(Daughter, //its solid
Air, //its material
"LTestDaughter");
G4VPhysicalVolume* physiDaughter = new G4PVPlacement(0,
G4ThreeVector(),
logicDaughter,
"PTestDaughter",
logicMother,
false,0);
//
// Visualization attributes
//
logicMother->SetVisAttributes (G4VisAttributes::Invisible);
G4VisAttributes* DaughterVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
DaughterVisAtt->SetVisibility(true);
logicDaughter->SetVisAttributes(DaughterVisAtt);
return logicMother;
}
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4EventAction.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "g4rw/tvordvec.h"
#include "G4ios.hh"
#include "G3toG4EventAction.hh"
#include "G3toG4EventActionMessenger.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4HCofThisEvent.hh"
#include "G4TrajectoryContainer.hh"
#include "G4Trajectory.hh"
#include "G4VVisManager.hh"
#include "G4UImanager.hh"
#include "G4UnitsTable.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4EventAction::G3toG4EventAction()
: drawFlag("all"),eventMessenger(NULL)
{
eventMessenger = new G3toG4EventActionMessenger(this);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4EventAction::~G3toG4EventAction()
{
delete eventMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4EventAction::BeginOfEventAction(const G4Event* Ev)
{;}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4EventAction::EndOfEventAction(const G4Event* Ev)
{
const G4Event* evt = fpEventManager->GetConstCurrentEvent();
G4cout << ">>> Event " << evt->GetEventID() << G4endl;
G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer();
G4int n_trajectories = 0;
if(trajectoryContainer){
n_trajectories = trajectoryContainer->entries();
}
G4cout << " " << n_trajectories
<< " trajectories stored in this event." << G4endl;
if(G4VVisManager::GetConcreteInstance()){
for(G4int i=0; i<n_trajectories; i++) {
G4Trajectory* trj = (G4Trajectory*)(*(evt->GetTrajectoryContainer()))[i];
if (drawFlag == "all") trj->DrawTrajectory(50);
else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.))
trj->DrawTrajectory(50);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4EventActionMessenger.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G3toG4EventActionMessenger.hh"
#include "G3toG4EventAction.hh"
#include "G4UIcmdWithAString.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4EventActionMessenger::G3toG4EventActionMessenger(G3toG4EventAction* EvAct)
:eventAction(EvAct)
{
DrawCmd = new G4UIcmdWithAString("/event/draw",this);
DrawCmd->SetGuidance("Draw the tracks in the event");
DrawCmd->SetGuidance(" Choice : none, charged, all (default)");
DrawCmd->SetParameterName("choice",true);
DrawCmd->SetDefaultValue("all");
DrawCmd->SetCandidates("none charged all");
DrawCmd->AvailableForStates(Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4EventActionMessenger::~G3toG4EventActionMessenger()
{
delete DrawCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4EventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue)
{
if(command == DrawCmd)
{eventAction->SetDrawFlag(newValue);}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4PhysicsList.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G3toG4PhysicsList.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleWithCuts.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4PhysicsList::G3toG4PhysicsList(): G4VUserPhysicsList()
{
currentDefaultCut = defaultCutValue = 2.0*mm;
cutForGamma = defaultCutValue;
cutForElectron = defaultCutValue;
cutForProton = defaultCutValue;
SetVerboseLevel(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4PhysicsList::~G3toG4PhysicsList()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructParticle()
{
// In this method, static member functions should be called
// for all particles which you want to use.
// This ensures that objects of these particle types will be
// created in the program.
ConstructBosons();
ConstructLeptons();
ConstructMesons();
ConstructBaryons();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructBosons()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructLeptons()
{
// leptons
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructMesons()
{
// mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4EtaPrime::EtaPrimeDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
G4AntiKaonZero::AntiKaonZeroDefinition();
G4KaonZeroLong::KaonZeroLongDefinition();
G4KaonZeroShort::KaonZeroShortDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructBaryons()
{
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructProcess()
{
AddTransportation();
ConstructEM();
ConstructGeneral();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::ConstructEM()
{
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
//gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
pmanager->AddDiscreteProcess(new G4ComptonScattering());
pmanager->AddDiscreteProcess(new G4GammaConversion());
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering(),-1, 1,1);
pmanager->AddProcess(new G4eIonisation(), -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering(),-1, 1,1);
pmanager->AddProcess(new G4eIonisation(), -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation(), 0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering(),-1, 1,1);
pmanager->AddProcess(new G4MuIonisation(), -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1,3);
pmanager->AddProcess(new G4MuPairProduction(), -1,-1,4);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
pmanager->AddProcess(new G4hIonisation(), -1,2,2);
}
}
}
#include "G4Decay.hh"
void G3toG4PhysicsList::ConstructGeneral()
{
// Add Decay Process
G4Decay* theDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (theDecayProcess->IsApplicable(*particle)) {
pmanager ->AddProcess(theDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::SetCuts()
{
// reactualise cutValues
if (currentDefaultCut != defaultCutValue)
{
if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue;
if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue;
if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue;
currentDefaultCut = defaultCutValue;
}
if (verboseLevel >0){
G4cout << "G3toG4PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
}
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
SetCutValue(cutForGamma, "gamma");
SetCutValue(cutForElectron, "e-");
SetCutValue(cutForElectron, "e+");
// set cut values for proton and anti_proton before all other hadrons
// because some processes for hadrons need cut values for proton/anti_proton
SetCutValue(cutForProton, "proton");
SetCutValue(cutForProton, "anti_proton");
SetCutValueForOthers(defaultCutValue);
if (verboseLevel>0) DumpCutValuesTable();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4PhysicsList::SetCutForGamma(G4double cut)
{
ResetCuts();
cutForGamma = cut;
}
void G3toG4PhysicsList::SetCutForElectron(G4double cut)
{
ResetCuts();
cutForElectron = cut;
}
void G3toG4PhysicsList::SetCutForProton(G4double cut)
{
ResetCuts();
cutForProton = cut;
}
G4double G3toG4PhysicsList::GetCutForGamma() const
{
return cutForGamma;
}
G4double G3toG4PhysicsList::GetCutForElectron() const
{
return cutForElectron;
}
G4double G3toG4PhysicsList::GetCutForProton() const
{
return cutForGamma;
}
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4PrimaryGeneratorAction.cc,v 1.2 2000/08/01 09:44:02 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
#include "globals.hh"
#include "Randomize.hh"
#include "G3toG4PrimaryGeneratorAction.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
G3toG4PrimaryGeneratorAction::G3toG4PrimaryGeneratorAction(){
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4String particleName;
G4ParticleDefinition* particle
= particleTable->FindParticle(particleName="chargedgeantino");
particleGun->SetParticleDefinition(particle);
G4ThreeVector direction(0, 0, 1);
particleGun->SetParticleMomentumDirection(direction.unit());
particleGun->SetParticleEnergy(1.*GeV);
particleGun->SetParticlePosition(G4ThreeVector(0.*cm, 0.*cm,0.*cm));
}
G3toG4PrimaryGeneratorAction::~G3toG4PrimaryGeneratorAction(){
delete particleGun;
}
void
G3toG4PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent){
//G4ThreeVector direction = GetRandomDirection();
//particleGun->SetParticleMomentumDirection( direction.unit() ) ;
G4cout << ">>>>>>>> Primary direction: "
<< particleGun->GetParticleMomentumDirection() << G4endl;
particleGun->GeneratePrimaryVertex(anEvent);
}
G4ThreeVector
G3toG4PrimaryGeneratorAction::GetRandomDirection() {
G4ThreeVector retval;
G4double CosTheta;
G4double SinTheta;
G4double Phi;
G4double SinPhi;
G4double CosPhi;
G4double rand;
rand = G4UniformRand();
CosTheta = 2.0*rand -1.0;
SinTheta = sqrt (1.-CosTheta*CosTheta);
rand = G4UniformRand();
Phi = twopi*rand;
SinPhi = sin (Phi);
CosPhi = cos (Phi);
retval.setX(SinTheta*CosPhi);
retval.setY(SinTheta*SinPhi);
retval.setZ(CosTheta);
return retval;
}
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4RunAction.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
#include "G4ios.hh"
#include "G3toG4RunAction.hh"
#include "G4Run.hh"
#include "G4VVisManager.hh"
#include "G4UImanager.hh"
#include "G4ios.hh"
G3toG4RunAction::G3toG4RunAction(){
runIDcounter = 0;
}
G3toG4RunAction::~G3toG4RunAction(){;}
void G3toG4RunAction::BeginOfRunAction(const G4Run* aRun){
((G4Run *)(aRun))->SetRunID(runIDcounter++);
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
G4UImanager* UI = G4UImanager::GetUIpointer();
if (G4VVisManager::GetConcreteInstance()) {
UI->ApplyCommand("/vis~/clear/view");
UI->ApplyCommand("/vis~/draw/current");
}
}
void G3toG4RunAction::EndOfRunAction(const G4Run* aRun){;}
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4VisManager.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $
// GEANT4 tag $Name: examples-V02-00-01 $
//
//
// John Allison 24th January 1998.
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G4ios.hh"
#ifdef G4VIS_USE
#include "G3toG4VisManager.hh"
// Supported drivers...
#ifdef G4VIS_USE_DAWN
#include "G4FukuiRenderer.hh"
#endif
#ifdef G4VIS_USE_DAWNFILE
#include "G4DAWNFILE.hh"
#endif
#ifdef G4VIS_USE_OPACS
#include "G4Wo.hh"
#include "G4Xo.hh"
#endif
#ifdef G4VIS_USE_OPENGLX
#include "G4OpenGLImmediateX.hh"
#include "G4OpenGLStoredX.hh"
#endif
#ifdef G4VIS_USE_OPENGLWIN32
#include "G4OpenGLImmediateWin32.hh"
#include "G4OpenGLStoredWin32.hh"
#endif
#ifdef G4VIS_USE_OPENGLXM
#include "G4OpenGLImmediateXm.hh"
#include "G4OpenGLStoredXm.hh"
#endif
#ifdef G4VIS_USE_OIX
#include "G4OpenInventorX.hh"
#endif
#ifdef G4VIS_USE_OIWIN32
#include "G4OpenInventorWin32.hh"
#endif
#ifdef G4VIS_USE_RAYX
#include "G4RayX.hh"
#endif
#ifdef G4VIS_USE_VRML
#include "G4VRML1.hh"
#include "G4VRML2.hh"
#endif
#ifdef G4VIS_USE_VRMLFILE
#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G3toG4VisManager::G3toG4VisManager () {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G3toG4VisManager::RegisterGraphicsSystems () {
#ifdef G4VIS_USE_DAWN
RegisterGraphicsSystem (new G4FukuiRenderer);
#endif
#ifdef G4VIS_USE_DAWNFILE
RegisterGraphicsSystem (new G4DAWNFILE);
#endif
#ifdef G4VIS_USE_OPACS
RegisterGraphicsSystem (new G4Wo);
RegisterGraphicsSystem (new G4Xo);
#endif
#ifdef G4VIS_USE_OPENGLX
RegisterGraphicsSystem (new G4OpenGLImmediateX);
RegisterGraphicsSystem (new G4OpenGLStoredX);
#endif
#ifdef G4VIS_USE_OPENGLWIN32
RegisterGraphicsSystem (new G4OpenGLImmediateWin32);
RegisterGraphicsSystem (new G4OpenGLStoredWin32);
#endif
#ifdef G4VIS_USE_OPENGLXM
RegisterGraphicsSystem (new G4OpenGLImmediateXm);
RegisterGraphicsSystem (new G4OpenGLStoredXm);
#endif
#ifdef G4VIS_USE_OIX
RegisterGraphicsSystem (new G4OpenInventorX);
#endif
#ifdef G4VIS_USE_OIWIN32
RegisterGraphicsSystem (new G4OpenInventorWin32);
#endif
#ifdef G4VIS_USE_RAYX
RegisterGraphicsSystem (new G4RayX);
#endif
#ifdef G4VIS_USE_VRML
RegisterGraphicsSystem (new G4VRML1);
RegisterGraphicsSystem (new G4VRML2);
#endif
#ifdef G4VIS_USE_VRMLFILE
RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);
#endif
if (fVerbose > 0) {
G4cout <<
"\nYou have successfully chosen to use the following graphics systems."
<< G4endl;
PrintAvailableGraphicsSystems ();
}
}
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
---- GSMATE 1 "AIR " 0.14610000E+02 0.70000002E+01 0.12050000E-02 0.30423240E+05 0
---- GSMATE 2 "SILICON " 0.28090000E+02 0.14000000E+02 0.23299999E+01 0.93648071E+01 0
---- GSTMED 1 "Mother " 1 0 2 0.15000000E+02 0.10000000E+02 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0
---- GSTMED 2 "Detector " 2 0 2 0.15000000E+02 0.10000000E+02 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0
---- GSROTM 1 90.00000 0.00000 90.00000 90.0000 0.0 0.0
---- GSROTM 2 90.00000 90.00000 90.00000 180.0000 0.0 0.0
---- GSROTM 3 90.00000 90.00000 90.00000 180.0000 180.0 0.0
---- GSVOLU MOTH TUBE 1 3 0.0 50.0 50.
---- GSVOLU MBOX BOX 1 3 5.0 5.0 5.0
---- GSVOLU WAFR TRD1 2 4 1.0 2.0 3.0 0.015
---- GSPOS WAFR 1 MBOX 0.00000000 0.00000000 0.0 1 ONLY
---- GSPOS MBOX 1 MOTH 0.00000000 0.00000000 20.0 2 ONLY
---- GSPOS MBOX 2 MOTH 0.00000000 0.00000000 -20.0 3 ONLY
---- GGCLOS
This diff is collapsed.
---- GSMATE 1 "HYDROGEN " 0.10100000E+01 0.10000000E+01 0.70799999E-01 0.86500000E+03 0
---- GSMATE 2 "DEUTERIUM " 0.20100000E+01 0.10000000E+01 0.16200000E+00 0.75700000E+03 0
---- GSMATE 3 "HELIUM " 0.40000000E+01 0.20000000E+01 0.12500000E+00 0.75500000E+03 0
---- GSMATE 4 "LITHIUM " 0.69400001E+01 0.30000000E+01 0.53399998E+00 0.15500000E+03 0
---- GSMATE 5 "BERILLIUM " 0.90100002E+01 0.40000000E+01 0.18480000E+01 0.35299999E+02 0
---- GSMATE 6 "CARBON " 0.12010000E+02 0.60000000E+01 0.22650001E+01 0.18799999E+02 0
---- GSMATE 7 "NITROGEN " 0.14010000E+02 0.70000000E+01 0.80800003E+00 0.44500000E+02 0
---- GSMATE 8 "NEON " 0.20180000E+02 0.10000000E+02 0.12070000E+01 0.24000000E+02 0
---- GSMATE 9 "ALUMINIUM " 0.26980000E+02 0.13000000E+02 0.27000000E+01 0.88999996E+01 0
---- GSMATE 10 "IRON " 0.55849998E+02 0.26000000E+02 0.78699999E+01 0.17600000E+01 0
---- GSMATE 11 "COPPER " 0.63540001E+02 0.29000000E+02 0.89600000E+01 0.14299999E+01 0
---- GSMATE 12 "TUNGSTEN " 0.18385001E+03 0.74000000E+02 0.19299999E+02 0.34999999E+00 0
---- GSMATE 13 "LEAD " 0.20719000E+03 0.82000000E+02 0.11350000E+02 0.56000000E+00 0
---- GSMATE 14 "URANIUM " 0.23803000E+03 0.92000000E+02 0.18950001E+02 0.31999999E+00 0
---- GSMATE 15 "AIR " 0.14610000E+02 0.73000002E+01 0.12050000E-02 0.30423240E+05 0
---- GSMATE 16 "VACUUM " 0.10000000E-15 0.10000000E-15 0.10000000E-15 0.10000000E+17 0
---- GSTMED 1 "Ether " 16 0 0 0.10000000E+04 0.99999998E-02 0.10000000E+11 0.00000000E+00 0.10000000E-02 0.00000000E+00 0
---- GSVOLU HALL BOX 1 3 0.40000000E+03 0.40000000E+03 0.40000000E+03
---- GSVOLU TUB1 TUBS 1 5 0.00000000E+00 0.20000000E+02 0.10000000E+03 0.00000000E+00 0.36000000E+03
---- GSVOLU TUB2 TUBS 1 5 0.20000000E+02 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.36000000E+03
---- GSVOLU BOX1 BOX 1 0
---- GSVOLU BOX2 BOX 1 3 -0.10000000E+01 -0.10000000E+01 0.10000000E+01
---- GSPOS TUB1 1 HALL 0.00000000E+00 0.00000000E+00 0.10000000E+03 0 ONLY
---- GSPOS TUB2 1 HALL 0.00000000E+00 0.00000000E+00 0.10000000E+03 0 ONLY
---- GSPOSP BOX1 1 HALL 0.00000000E+00 0.00000000E+00 -0.40000000E+02 0 ONLY 3 0.50000000E+02 0.25000000E+02 0.50000000E+01
---- GSPOSP BOX1 2 HALL 0.00000000E+00 0.00000000E+00 -0.80000000E+02 0 ONLY 3 0.10000000E+03 0.50000000E+02 0.50000000E+01
---- GSPOSP BOX1 3 HALL 0.00000000E+00 0.00000000E+00 -0.12000000E+03 0 ONLY 3 0.15000000E+03 0.75000000E+02 0.50000000E+01
---- GSPOSP BOX1 4 HALL 0.00000000E+00 0.00000000E+00 -0.16000000E+03 0 ONLY 3 0.20000000E+03 0.10000000E+03 0.50000000E+01
---- GSDVN2 TBD1 TUB1 60 2 0.00000000E+00 1
---- GSDVN2 TBD2 TUB2 5 1 0.20000000E+02 1
---- GSPOS BOX2 1 BOX1 0.00000000E+00 0.00000000E+00 0.10000000E+01 0 ONLY
---- GSDVN2 BXD1 BOX2 4 1 0.00000000E+00 1
---- GGCLOS
...@@ -14,8 +14,8 @@ OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/example ...@@ -14,8 +14,8 @@ OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/example
Opening federated database OO_FD_BOOT. Opening federated database OO_FD_BOOT.
********************************************** **********************************************
Geant4 version $Name: geant4-02-00 $ Geant4 version $Name: examples-V02-00-01 $
(10-Mar-2000) (30-Jun-2000)
Copyright : Geant4 Collaboration Copyright : Geant4 Collaboration
********************************************** **********************************************
# #
...@@ -111,91 +111,91 @@ Transaction started for /Geometry/GeomContainer/ with non-sustained mode. ...@@ -111,91 +111,91 @@ Transaction started for /Geometry/GeomContainer/ with non-sustained mode.
Transaction is committed on /Geometry/GeomContainer/ Transaction is committed on /Geometry/GeomContainer/
>>> Event 0 >>> Event 0
Event : 0 Event : 0
mySD/EvenCollection Number of hits 10 mySD/EvenCollection Number of hits 14
Edep of the first Hit 31.596 Edep of the first Hit 30.143
mySD/OddCollection Number of hits 36 mySD/OddCollection Number of hits 41
Edep of the first Hit 59.343 Edep of the first Hit 29.575
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 0 stored in /Events/EventContainer/ -- G4PEvent 0 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 1 >>> Event 1
Event : 1 Event : 1
mySD/EvenCollection Number of hits 13 mySD/EvenCollection Number of hits 8
Edep of the first Hit 1.7624 Edep of the first Hit 20.31
mySD/OddCollection Number of hits 40 mySD/OddCollection Number of hits 42
Edep of the first Hit 21.652 Edep of the first Hit 30.372
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 1 stored in /Events/EventContainer/ -- G4PEvent 1 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 2 >>> Event 2
Event : 2 Event : 2
mySD/EvenCollection Number of hits 9 mySD/EvenCollection Number of hits 8
Edep of the first Hit 10.362 Edep of the first Hit 28.983
mySD/OddCollection Number of hits 38 mySD/OddCollection Number of hits 41
Edep of the first Hit 46.736 Edep of the first Hit 58.68
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 2 stored in /Events/EventContainer/ -- G4PEvent 2 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 3 >>> Event 3
Event : 3 Event : 3
mySD/EvenCollection Number of hits 9 mySD/EvenCollection Number of hits 6
Edep of the first Hit 38.603 Edep of the first Hit 0.77251
mySD/OddCollection Number of hits 35 mySD/OddCollection Number of hits 35
Edep of the first Hit 15.55 Edep of the first Hit 67.286
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 3 stored in /Events/EventContainer/ -- G4PEvent 3 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 4 >>> Event 4
Event : 4 Event : 4
mySD/EvenCollection Number of hits 9 mySD/EvenCollection Number of hits 13
Edep of the first Hit 46.253 Edep of the first Hit 1.7755
mySD/OddCollection Number of hits 38 mySD/OddCollection Number of hits 40
Edep of the first Hit 19.721 Edep of the first Hit 10.341
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 4 stored in /Events/EventContainer/ -- G4PEvent 4 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 5 >>> Event 5
Event : 5 Event : 5
mySD/EvenCollection Number of hits 6 mySD/EvenCollection Number of hits 10
Edep of the first Hit 11.805 Edep of the first Hit 10.019
mySD/OddCollection Number of hits 39 mySD/OddCollection Number of hits 39
Edep of the first Hit 30.611 Edep of the first Hit 2.3134
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 5 stored in /Events/EventContainer/ -- G4PEvent 5 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 6 >>> Event 6
Event : 6 Event : 6
mySD/EvenCollection Number of hits 13 mySD/EvenCollection Number of hits 34
Edep of the first Hit 4.4673 Edep of the first Hit 29.811
mySD/OddCollection Number of hits 42 mySD/OddCollection Number of hits 16
Edep of the first Hit 38.656 Edep of the first Hit 36.36
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 6 stored in /Events/EventContainer/ -- G4PEvent 6 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 7 >>> Event 7
Event : 7 Event : 7
mySD/EvenCollection Number of hits 7 mySD/EvenCollection Number of hits 8
Edep of the first Hit 36.725 Edep of the first Hit 28.502
mySD/OddCollection Number of hits 43 mySD/OddCollection Number of hits 42
Edep of the first Hit 35.941 Edep of the first Hit 8.9094
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 7 stored in /Events/EventContainer/ -- G4PEvent 7 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 8 >>> Event 8
Event : 8 Event : 8
mySD/EvenCollection Number of hits 6 mySD/EvenCollection Number of hits 7
Edep of the first Hit 58.073 Edep of the first Hit 18.388
mySD/OddCollection Number of hits 47 mySD/OddCollection Number of hits 40
Edep of the first Hit 38.947 Edep of the first Hit 1.0794
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 8 stored in /Events/EventContainer/ -- G4PEvent 8 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
>>> Event 9 >>> Event 9
Event : 9 Event : 9
mySD/EvenCollection Number of hits 10 mySD/EvenCollection Number of hits 29
Edep of the first Hit 36.099 Edep of the first Hit 0.10302
mySD/OddCollection Number of hits 34 mySD/OddCollection Number of hits 34
Edep of the first Hit 51.997 Edep of the first Hit 11.841
Transaction started for /Events/EventContainer/ with non-sustained mode. Transaction started for /Events/EventContainer/ with non-sustained mode.
-- G4PEvent 9 stored in /Events/EventContainer/ -- G4PEvent 9 stored in /Events/EventContainer/
Transaction is committed on /Events/EventContainer/ Transaction is committed on /Events/EventContainer/
......
********************************************** **********************************************
Geant4 version $Name: geant4-02-00 $ Geant4 version $Name: examples-V02-00-01 $
(10-Mar-2000) (30-Jun-2000)
Copyright : Geant4 Collaboration Copyright : Geant4 Collaboration
********************************************** **********************************************
Start Run processing. Start Run processing.
......
$Id: History,v 1.8 2000/06/19 16:32:05 stesting Exp $ $Id: History,v 1.9 2000/06/24 07:34:39 stesting Exp $
------------------------------------------------------------------- -------------------------------------------------------------------
========================================================= =========================================================
...@@ -15,6 +15,9 @@ track of all tags. ...@@ -15,6 +15,9 @@ track of all tags.
* Reverse chronological order (last date on top), please * * Reverse chronological order (last date on top), please *
---------------------------------------------------------- ----------------------------------------------------------
June 24, 2000 John Allison (exampleN02-V01-01-03)
- Updated exampleN02.out for stand-V01-01-05 and utils-V01-01-03.
June 17, 2000 John Allison (exampleN02-V01-01-02) June 17, 2000 John Allison (exampleN02-V01-01-02)
- Updated exampleN02.out for exampleN02-V01-01-01. - Updated exampleN02.out for exampleN02-V01-01-01.
......
$Id: README,v 1.2 2000/03/14 10:19:09 gcosmo Exp $ $Id: README,v 1.3 2000/07/04 19:56:35 japost Exp $
------------------------------------------------------------------- -------------------------------------------------------------------
========================================================= =========================================================
...@@ -8,5 +8,31 @@ $Id: README,v 1.2 2000/03/14 10:19:09 gcosmo Exp $ ...@@ -8,5 +8,31 @@ $Id: README,v 1.2 2000/03/14 10:19:09 gcosmo Exp $
ExampleN02 ExampleN02
---------- ----------
May 4, 1998 John Apostolakis.
Started from exampleEmPhys2. This example simulates a simple Tracker setup.
1- GEOMETRY DEFINITION
The setup consists of a target and a tracker. The tracker
includes several pieces, each of which is a box.
2- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic consists of a single particle which hits the
target perpendicular to the input face. The type of the particle
and its energy are set in the PrimaryGeneratorAction class, and can
be changed via the G4 build-in commands of ParticleGun class.
3- DETECTOR RESPONSE
A HIT is a record, event per event and volume per volume, of all the
informations needed to simulate and analyse the detector response.
In this example a TrackerHit is defined as a set of 4 informations per
layer :
- the total energy deposit in the tracker,
- the position of the deposit.
This diff is collapsed.