Import Geant4 9.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:37:50 +02:00
parent a8e9364cea
commit 96c8bcd0af
6923 changed files with 198390 additions and 41849 deletions
+1 -1
View File
@@ -149,7 +149,7 @@ endif
banner:
@$(ECHO) "*************************************************************"
@$(ECHO) " Installation Geant4 version $$Name: geant4-09-00 $ "
@$(ECHO) " Installation Geant4 version $$Name: geant4-09-01 $ "
@$(ECHO) " Copyright (C) 1994-2007 Geant4 Collaboration "
@$(ECHO) "*************************************************************"
+5 -4
View File
@@ -1,15 +1,16 @@
# $Id: GNUmakefile,v 1.4 2005/11/16 22:59:01 asaim Exp $
# $Id: GNUmakefile,v 1.6 2007/12/11 13:26:13 gcosmo Exp $
# --------------------------------------------------------------
# GNUmakefile for digits+hits library. Makoto Asai, 1/11/96.
# --------------------------------------------------------------
name := G4digits_hits
SUBDIRS := detector hits digits utils
SUBLIBS = G4detector G4digits G4hits G4detutils
SUBDIRS := detector hits digits utils scorer
SUBLIBS = G4detector G4digits G4hits G4detutils G4detscorer
GLOBLIBS = libG4track.lib libG4particles.lib libG4geometry.lib
GLOBLIBS += libG4materials.lib libG4intercoms.lib libG4global.lib
GLOBLIBS += libG4materials.lib libG4graphics_reps.lib libG4intercoms.lib
GLOBLIBS += libG4global.lib
ifndef G4INSTALL
G4INSTALL = ../..
+25 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.25 2007/06/05 16:46:55 ahoward Exp $
$Id: History,v 1.32 2007/12/11 13:26:13 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,30 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Dec 11, 2007, G.Cosmo (digits_hits-V09-00-05)
- Added "graphics_reps" to GLOBLIBS list to allow for building DLLs on
WIN32-VC platform.
- Changes for disclaimer and std namespace.
Nov 14, 2007, M.Asai (digits_hits-V09-00-04)
- Minor corrections and fixes.
Nov 09, 2007, M.Asai (digits_hits-V09-00-03)
- Introducing Command-base scoring mechanism. This is a preliminary release
with Geant4 9.1. This time, shape of scoring cell is limited to box.
Sep 24, 2007, M.Asai (digits_hits-V09-00-02)
- Introducing 3D scorers to be used in command-base scoring.
Aug 30, 2007, M.Asai (digits_hits-V09-00-01)
- First implementation of interactive parallel world scoring.
- Co-working with run-V09-00-01, procman-V09-00-00, config-V09-00-00
July 11, 2007, M.Asai (digits_hits-V09-00-00)
- Create new sub-directory "scorer" and move all scorer and filter classes
to this new directory. "utils" sub-directory will be used for interactive
scoring utilities.
June 4, 2007, A.Howard (digits_hits-V08-03-04)
- Removed G4PSPopulation class to obviate circular dependency
@@ -25,7 +25,7 @@
//
//
// $Id: G4CellScoreComposer.hh,v 1.2 2006/06/29 18:05:06 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ----------------------------------------------------------------------
// Class G4CellScoreComposer
@@ -25,7 +25,7 @@
//
//
// $Id: G4CellScoreValues.hh,v 1.2 2006/06/29 18:05:08 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ----------------------------------------------------------------------
// Class G4CellScoreValues
@@ -25,7 +25,7 @@
//
//
// $Id: G4CollectionNameVector.hh,v 1.2 2006/06/29 18:05:12 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4CollectionNameVector_H
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCtable.hh,v 1.3 2006/06/29 18:05:15 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4HCtable_H
@@ -25,7 +25,7 @@
//
//
// $Id: G4MultiFunctionalDetector.hh,v 1.3 2006/06/29 18:05:17 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4MultiFunctionalDetector_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDManager.hh,v 1.4 2006/06/29 18:05:19 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDManager_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDStructure.hh,v 1.3 2006/06/29 18:05:22 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDStructure_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDmessenger.hh,v 1.2 2006/06/29 18:05:24 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDmessenger_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4SensitiveVolumeList.hh,v 1.2 2006/06/29 18:05:26 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1996
@@ -25,7 +25,7 @@
//
//
// $Id: G4SensitiveVolumeList.icc,v 1.2 2006/06/29 18:05:28 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -----------------------------------------------------------
// Inline functions of GEANT 4 class header file.
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4TrackLogger.hh,v 1.2 2006/06/29 18:05:30 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ----------------------------------------------------------------------
// Class G4TrackLogger
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VPrimitiveScorer.hh,v 1.2 2006/06/29 18:05:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4VPrimitiveScorer.hh,v 1.3 2007/08/28 07:51:45 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VPrimitiveScorer_h
@@ -109,6 +109,11 @@ class G4VPrimitiveScorer
return ProcessHits(aStep,ROhis);
}
protected:
G4int fNi, fNj, fNk; // used for 3D scorers
public:
inline void SetNijk(G4int i,G4int j,G4int k)
{ fNi = i; fNj = j; fNk = k; }
};
@@ -25,7 +25,7 @@
//
//
// $Id: G4VReadOutGeometry.hh,v 1.2 2006/06/29 18:05:34 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VSDFilter.hh,v 1.2 2006/06/29 18:05:37 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VSDFilter_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4VSensitiveDetector.hh,v 1.4 2006/06/29 18:05:39 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VSensitiveDetector_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4CellScoreComposer.cc,v 1.3 2006/06/29 18:05:41 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCtable.cc,v 1.4 2006/06/29 18:05:45 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4HCtable.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4MultiFunctionalDetector.cc,v 1.4 2006/06/29 18:05:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4MultiFunctionalDetector
#include "G4MultiFunctionalDetector.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDManager.cc,v 1.4 2006/06/29 18:05:50 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4SDManager.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDStructure.cc,v 1.3 2006/06/29 18:05:53 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4SDStructure
@@ -25,7 +25,7 @@
//
//
// $Id: G4SDmessenger.cc,v 1.2 2006/06/29 18:05:56 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ---------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4SensitiveVolumeList.cc,v 1.2 2006/06/29 18:05:59 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// --------------------------------------------------------------
// GEANT 4 class implementation file
@@ -25,7 +25,7 @@
//
//
// $Id: G4TrackLogger.cc,v 1.3 2006/06/29 18:06:01 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -25,7 +25,7 @@
//
//
// $Id: G4VPrimitiveScorer.cc,v 1.2 2006/06/29 18:06:03 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VPrimitiveScorer
#include "G4VPrimitiveScorer.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4VReadOutGeometry.cc,v 1.2 2006/06/29 18:06:05 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4VReadOutGeometry.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4VSDFilter.cc,v 1.2 2006/06/29 18:06:08 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VSensitiveDetector
#include "G4VSDFilter.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4VSensitiveDetector.cc,v 1.3 2006/06/29 18:06:11 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VSensitiveDetector
#include "G4VSensitiveDetector.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4DCofThisEvent.hh,v 1.5 2006/06/29 18:06:13 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4DCofThisEvent_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4TDigiCollection.hh,v 1.6 2006/06/29 18:06:16 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4TDigiCollection_h
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4VDigi.hh,v 1.4 2006/06/29 18:06:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VDigi_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4VDigiCollection.hh,v 1.3 2006/06/29 18:06:20 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VDigiCollection_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4DCofThisEvent.cc,v 1.4 2006/06/29 18:06:22 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4DCofThisEvent.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4TDigiCollection.cc,v 1.4 2006/06/29 18:06:24 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4TDigiCollection.hh"
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4VDigi.cc,v 1.2 2006/06/29 18:06:26 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VDigi
@@ -25,7 +25,7 @@
//
//
// $Id: G4VDigiCollection.cc,v 1.2 2006/06/29 18:06:29 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VDigiCollection
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCofThisEvent.hh,v 1.5 2006/06/29 18:06:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4HCofThisEvent_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4THitsCollection.hh,v 1.5 2006/06/29 18:06:34 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4THitsCollection_h
+13 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4THitsMap.hh,v 1.6 2006/06/29 18:06:36 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4THitsMap.hh,v 1.9 2007/08/30 05:13:03 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4THitsMap_h
#define G4THitsMap_h 1
@@ -192,7 +192,17 @@ template <typename T> void G4THitsMap<T>::DrawAllHits()
{;}
template <typename T> void G4THitsMap<T>::PrintAllHits()
{;}
{
G4cout << "G4THitsMap " << SDname << " / " << collectionName << " --- " << entries() << " entries" << G4endl;
std::map<G4int,T*> * theHitsMap = GetMap();
typename std::map<G4int, T*>::iterator itr = theHitsMap->begin();
G4double sum = 0.;
for(; itr != theHitsMap->end(); itr++) {
///////////////////////////////G4cout << " " << itr->first << " : " << *(itr->second) << G4endl;
sum += *(itr->second);
}
G4cout << " Total : " << sum << G4endl;
}
template <typename T> void G4THitsMap<T>::clear() {
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHit.hh,v 1.3 2006/06/29 18:06:38 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VHit_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHitsCollection.hh,v 1.2 2006/06/29 18:06:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4VHitsCollection_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCofThisEvent.cc,v 1.4 2006/06/29 18:06:42 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4HCofThisEvent.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4THitsCollection.cc,v 1.4 2006/06/29 18:06:45 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4THitsCollection.hh"
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHit.cc,v 1.2 2006/06/29 18:06:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VHit
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHitsCollection.cc,v 1.2 2006/06/29 18:06:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4VHitsCollection
+32
View File
@@ -0,0 +1,32 @@
# $Id: GNUmakefile,v 1.1 2007/07/11 01:27:26 asaim Exp $
# --------------------------------------------------------------
# GNUmakefile for digits+hits library. Makoto Asai, 1/11/96.
# --------------------------------------------------------------
name := G4detscorer
ifndef G4INSTALL
G4INSTALL = ../../..
endif
include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4DIGI_ALLOC_EXPORT
CPPFLAGS += \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPGeometry/include \
-I$(G4BASE)/track/include \
-I$(G4BASE)/particles/management/include \
-I$(G4BASE)/materials/include \
-I$(G4BASE)/geometry/management/include \
-I$(G4BASE)/geometry/volumes/include \
-I$(G4BASE)/geometry/navigation/include \
-I$(G4BASE)/geometry/solids/CSG/include \
-I$(G4BASE)/digits_hits/hits/include \
-I$(G4BASE)/digits_hits/detector/include \
-I$(G4BASE)/digits_hits/digits/include \
-I$(G4BASE)/intercoms/include \
include $(G4INSTALL)/config/common.gmk
+42
View File
@@ -0,0 +1,42 @@
$Id: History,v 1.1 2007/07/11 01:27:26 asaim Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Category History file
---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
July 11, 2007 M.Asai (detscorer-V09-00-00)
- Moved from digits_hits/utilis.
June 06, 2007 A.Howard (detutils-V08-03-02)
- Added modified G4PSPopulation removing event (circular) dependency
(file form T.Aso).
June 05, 2007 M.Asai (detutils-V08-03-01)
- Drop G4PSPopulation from the release.
May 17, 2007 M.Asai (detutils-V08-03-00)
- New scorers for event biasing.
- kCarTolerance now becomes a local data member obtained from G4GeometryTolerance class.
November 17, 2006 M.Asai (detutils-V08-01-00)
- G4PSCellCharge is introduced.
November 18, 2005 M.Asai (detutils-V07-01-01)
- Introducing concrete primitive scorer and filter classes.
November 16, 2005 M.Asai (detutils-V07-01-00)
- Created.
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSCellCharge.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSCellCharge.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCellCharge_h
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCellCharge3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCellCharge3D_h
#define G4PSCellCharge3D_h 1
#include "G4PSCellCharge.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring cell charge.
// The Cell Charge is defined by a sum of deposited charge in the cell.
//
// Created: 2007-08-20 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSCellCharge3D : public G4PSCellCharge
{
public: // with description
G4PSCellCharge3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSCellCharge3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSCellFlux.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCellFlux_h
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCellFlux3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCellFlux3D_h
#define G4PSCellFlux3D_h 1
#include "G4PSCellFlux.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for 3D scoring cell flux.
// The Cell Flux is defined by a sum of track length divided
// by the geometry volume, where all of the tracks in the geometry
// are taken into account. e.g. the unit of Cell Flux is mm/mm3.
//
//
// If you want to score only tracks passing through the geometry volume,
// please use G4PSPassageCellFlux3D.
//
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSCellFlux3D : public G4PSCellFlux
{
public: // with description
G4PSCellFlux3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSCellFlux3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -0,0 +1,92 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCylinderSurfaceCurrent.hh,v 1.1 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCylinderSurfaceCurrent_h
#define G4PSCylinderSurfaceCurrent_h 1
#include "G4VPrimitiveScorer.hh"
#include "G4THitsMap.hh"
#include "G4Tubs.hh"
#include "G4PSDirectionFlag.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Current.
// Current version assumes only for G4Tubs shape, and the surface
// is defined at the inner plane of the tubs.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the inner surface of the tube.
// Direction R R+dR
// 0 IN || OUT ->|<- | fCurrent_InOut
// 1 IN ->| | fCurrent_In
// 2 OUT |<- | fCurrent_Out
//
//
// Created: 2007-03-21 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSCylinderSurfaceCurrent : public G4VPrimitiveScorer
{
public: // with description
G4PSCylinderSurfaceCurrent(G4String name ,G4int direction, G4int depth=0);
virtual ~G4PSCylinderSurfaceCurrent();
inline void Weighted(G4bool flg=true) { weighted = flg; }
// Multiply track weight
inline void DivideByArea(G4bool flg=true) { divideByArea = flg; }
// Divided by Area.
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
G4int IsSelectedSurface(G4Step*,G4Tubs*);
public:
virtual void Initialize(G4HCofThisEvent*);
virtual void EndOfEvent(G4HCofThisEvent*);
virtual void clear();
virtual void DrawAll();
virtual void PrintAll();
private:
G4int HCID;
G4int fDirection;
G4THitsMap<G4double>* EvtMap;
G4bool weighted;
G4bool divideByArea;
};
#endif
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCylinderSurfaceCurrent3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCylinderSurfaceCurrent3D_h
#define G4PSCylinderSurfaceCurrent3D_h 1
#include "G4PSCylinderSurfaceCurrent.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Current.
// Current version assumes only for G4Tubs shape, and the surface
// is defined at the Rmin plane of the Tubs.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the -Z surface.
// Direction Rmin Rmax
// 0 IN || OUT ->|<- | fCurrent_InOut
// 1 IN ->| | fCurrent_In
// 2 OUT |<- | fCurrent_Out
//
//
// Created: 2008-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSCylinderSurfaceCurrent3D : public G4PSCylinderSurfaceCurrent
{
public: // with description
G4PSCylinderSurfaceCurrent3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSCylinderSurfaceCurrent3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -0,0 +1,83 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCylinderSurfaceFlux.hh,v 1.1 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCylinderSurfaceFlux_h
#define G4PSCylinderSurfaceFlux_h 1
#include "G4VPrimitiveScorer.hh"
#include "G4THitsMap.hh"
#include "G4Tubs.hh"
#include "G4PSDirectionFlag.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Flux.
// Current version assumes only for G4Tubs shape, and the surface
// is defined at the inner plane of the tube.
// The surface flux is given in the unit of area.
// e.g. sum of 1/cos(T)/mm2, where T is a incident angle of the
// track on the surface.
//
//
// Surface is defined at the inner surface of the tubs.
// Direction R R+dR
// 0 IN || OUT ->|<- | fFlux_InOut
// 1 IN ->| | fFlux_In
// 2 OUT |<- | fFlux_Out
//
// Created: 2007-03-29 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSCylinderSurfaceFlux : public G4VPrimitiveScorer
{
public: // with description
G4PSCylinderSurfaceFlux(G4String name,G4int direction, G4int depth=0);
virtual ~G4PSCylinderSurfaceFlux();
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
G4int IsSelectedSurface(G4Step*,G4Tubs*);
public:
virtual void Initialize(G4HCofThisEvent*);
virtual void EndOfEvent(G4HCofThisEvent*);
virtual void clear();
virtual void DrawAll();
virtual void PrintAll();
private:
G4int HCID;
G4int fDirection;
G4THitsMap<G4double>* EvtMap;
};
#endif
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCylinderSurfaceFlux3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSCylinderSurfaceFlux3D_h
#define G4PSCylinderSurfaceFlux3D_h 1
#include "G4PSCylinderSurfaceFlux.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Flux.
// This Flux version assumes only for G4Tubs shape, and the surface
// is defined at the Rmin plane of the box.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the -Z surface.
// Direction Rmin Rmax
// 0 IN || OUT ->|<- | fFlux_InOut
// 1 IN ->| | fFlux_In
// 2 OUT |<- | fFlux_Out
//
//
// Created: 2008-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSCylinderSurfaceFlux3D : public G4PSCylinderSurfaceFlux
{
public: // with description
G4PSCylinderSurfaceFlux3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int di=2, G4int dj=1, G4int dk=0);
virtual ~G4PSCylinderSurfaceFlux3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSDirectionFlag.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSDirectionFlag.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
//---------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSDoseDeposit.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSDoseDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSDoseDeposit_h
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSDoseDeposit3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSDoseDeposit3D_h
#define G4PSDoseDeposit3D_h 1
#include "G4PSDoseDeposit.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// Primitive scorer class for scoring dose deposit in the geometry volume.
//
// Created: 2008-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSDoseDeposit3D : public G4PSDoseDeposit
{
public: // with description
G4PSDoseDeposit3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSDoseDeposit3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSEnergyDeposit.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSEnergyDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSEnergyDeposit_h
@@ -24,28 +24,35 @@
// ********************************************************************
//
//
// $Id: G4DNAHydrogenChargeIncrease.cc,v 1.2 2006/06/29 19:39:30 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSEnergyDeposit3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4DNAHydrogenChargeIncrease.hh"
#include "G4DNAGenericIonsManager.hh"
#ifndef G4PSEnergyDeposit3D_h
#define G4PSEnergyDeposit3D_h 1
G4DNAHydrogenChargeIncreaseEnergyLimitsPolicy :: G4DNAHydrogenChargeIncreaseEnergyLimitsPolicy()
:
lowEnergyLimit(100*eV),
zeroBelowLowEnergyLimit(false),
highEnergyLimit(10*MeV),
zeroAboveHighEnergyLimit(true)
#include "G4PSEnergyDeposit.hh"
///////////////////////////////////////////////////////////////////////////////
// Description:
// This is a primitive scorer class for 3D scoring energy deposit.
//
// Created: 2007-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSEnergyDeposit3D : public G4PSEnergyDeposit
{
}
public: // with description
G4PSEnergyDeposit3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSEnergyDeposit3D();
G4DNAHydrogenChargeIncreaseIncomingParticlePolicy :: G4DNAHydrogenChargeIncreaseIncomingParticlePolicy()
protected: // with description
virtual G4int GetIndex(G4Step*);
{}
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
const G4ParticleDefinition * G4DNAHydrogenChargeIncreaseIncomingParticlePolicy :: IncomingParticleDefinition(void) const
{
G4DNAGenericIonsManager *instance;
instance = G4DNAGenericIonsManager::Instance();
return instance->GetIon("hydrogen");
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSFlatSurfaceCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSFlatSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSFlatSurfaceCurrent_h
@@ -53,6 +53,7 @@
//
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
// 17-Nov-2005 T.Aso, Bug fix for area definition.
// 31-Mar-2007 T.Aso, Add option for normalizing by the area.
//
///////////////////////////////////////////////////////////////////////////////
@@ -63,6 +64,12 @@ class G4PSFlatSurfaceCurrent : public G4VPrimitiveScorer
G4PSFlatSurfaceCurrent(G4String name ,G4int direction, G4int depth=0);
virtual ~G4PSFlatSurfaceCurrent();
// Scoring options
inline void Weighted(G4bool flg=true) { weighted = flg; }
// Multiply track weight
inline void DivideByArea(G4bool flg=true) { divideByArea = flg; }
// Divided By Area
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
G4int IsSelectedSurface(G4Step*,G4Box*);
@@ -78,6 +85,8 @@ class G4PSFlatSurfaceCurrent : public G4VPrimitiveScorer
G4int HCID;
G4int fDirection;
G4THitsMap<G4double>* EvtMap;
G4bool weighted;
G4bool divideByArea;
};
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSFlatSurfaceCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSFlatSurfaceCurrent3D_h
#define G4PSFlatSurfaceCurrent3D_h 1
#include "G4PSFlatSurfaceCurrent.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Current.
// Current version assumes only for G4Box shape, and the surface
// is defined at the -Z plane of the box.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the -Z surface.
// Direction -Z +Z
// 0 IN || OUT ->|<- | fCurrent_InOut
// 1 IN ->| | fCurrent_In
// 2 OUT |<- | fCurrent_Out
//
//
// Created: 2008-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSFlatSurfaceCurrent3D : public G4PSFlatSurfaceCurrent
{
public: // with description
G4PSFlatSurfaceCurrent3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSFlatSurfaceCurrent3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSFlatSurfaceFlux.hh,v 1.5 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSFlatSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSFlatSurfaceFlux_h
@@ -0,0 +1,71 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSFlatSurfaceFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSFlatSurfaceFlux3D_h
#define G4PSFlatSurfaceFlux3D_h 1
#include "G4PSFlatSurfaceFlux.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Flux.
// Current version assumes only for G4Box shape, and the surface
// is defined at the -Z plane of the box.
// The surface flux is given in the unit of area.
// e.g. sum of 1/cos(T)/mm2, where T is a incident angle of the
// track on the surface.
//
//
// Surface is defined at the -Z surface.
// Direction -Z +Z
// 0 IN || OUT ->|<- | fFlux_InOut
// 1 IN ->| | fFlux_In
// 2 OUT |<- | fFlux_Out
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSFlatSurfaceFlux3D : public G4PSFlatSurfaceFlux
{
public: // with description
G4PSFlatSurfaceFlux3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSFlatSurfaceFlux3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSMinKinEAtGeneration.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSMinKinEAtGeneration.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSMinKinEAtGeneration_h
@@ -36,10 +36,11 @@
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of particles
// generated in the geometry.
//
// Created: 2005-11-18 Tsukasa ASO, Akinori Kimura.
// This is a primitive scorer class for scoring minimum energy of
// newly produced particles in the geometry.
//
// Created: 2005-11-17 Tsukasa ASO, Akinori Kimura.
//
//
///////////////////////////////////////////////////////////////////////////////
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSMinKinEAtGeneration3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSMinKinEAtGeneration3D_h
#define G4PSMinKinEAtGeneration3D_h 1
#include "G4PSMinKinEAtGeneration.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring minimum energy of
// newly produced particles in the geometry.
//
// Created: 2007-08-14 Tsukasa ASO
//
//
///////////////////////////////////////////////////////////////////////////////
class G4PSMinKinEAtGeneration3D : public G4PSMinKinEAtGeneration
{
public: // with description
G4PSMinKinEAtGeneration3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSMinKinEAtGeneration3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSNofCollision.hh,v 1.2 2007/06/21 15:03:52 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSNofCollision.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofCollision_h
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSNofCollision3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofCollision3D_h
#define G4PSNofCollision3D_h 1
#include "G4PSNofCollision.hh"
//////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of Steps in the cell.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSNofCollision3D : public G4PSNofCollision
{
public: // with description
G4PSNofCollision3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
public:
virtual ~G4PSNofCollision3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSNofSecondary.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSNofSecondary.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofSecondary_h
@@ -33,6 +33,7 @@
#include "G4VPrimitiveScorer.hh"
#include "G4THitsMap.hh"
#include "G4ParticleTable.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
@@ -40,6 +41,11 @@
// generated in the geometry.
//
// Created: 2005-11-18 Tsukasa ASO, Akinori Kimura.
// Modified: 2007-03-23 Tsukasa ASO, Introduce SetSecondary() method for
// specifying a particluar secondary. If the pointer
// particleDef is not set, it accepts all secondaies.
// But onece user sets it, it accepts only the particle.
//
//
///////////////////////////////////////////////////////////////////////////////
@@ -50,6 +56,9 @@ class G4PSNofSecondary : public G4VPrimitiveScorer
public: // with description
G4PSNofSecondary(G4String name, G4int depth=0);
// Scoring option
void SetParticle(const G4String& particleName);
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
@@ -68,6 +77,7 @@ class G4PSNofSecondary : public G4VPrimitiveScorer
private:
G4int HCID;
G4THitsMap<G4double>* EvtMap;
G4ParticleDefinition* particleDef;
public:
@@ -0,0 +1,58 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSNofSecondary3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofSecondary3D_h
#define G4PSNofSecondary3D_h 1
#include "G4PSNofSecondary.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of particles
// generated in the geometry.
//
// Created: 2007-08-14 Tsukasa ASO
////////////////////////////////////////////////////////////////////////////////
class G4PSNofSecondary3D : public G4PSNofSecondary
{
public: // with description
G4PSNofSecondary3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSNofSecondary3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSNofStep.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSNofStep.hh,v 1.2 2007/08/29 06:36:41 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofStep_h
@@ -64,10 +64,16 @@ class G4PSNofStep : public G4VPrimitiveScorer
virtual void DrawAll();
virtual void PrintAll();
public:
void SetBoundaryFlag(G4bool flg=true)
{boundaryFlag = flg;}
private:
G4int HCID;
G4THitsMap<G4double>* EvtMap;
G4bool boundaryFlag;
public:
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSNofStep3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSNofStep3D_h
#define G4PSNofStep3D_h 1
#include "G4PSNofStep.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of Steps in the cell.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSNofStep3D : public G4PSNofStep
{
public: // with description
G4PSNofStep3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSNofStep3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,12 +24,12 @@
// ********************************************************************
//
//
// $Id: G4PSPassageCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSPassageCellCurrent.hh,v 1.1 2007/08/14 21:30:45 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageCurrent_h
#define G4PSPassageCurrent_h 1
#ifndef G4PSPassageCellCurrent_h
#define G4PSPassageCellCurrent_h 1
#include "G4VPrimitiveScorer.hh"
#include "G4THitsMap.hh"
@@ -45,14 +45,15 @@
///////////////////////////////////////////////////////////////////////////////
class G4PSPassageCurrent : public G4VPrimitiveScorer
class G4PSPassageCellCurrent : public G4VPrimitiveScorer
{
public: // with description
G4PSPassageCurrent(G4String name, G4int depth=0);
G4PSPassageCellCurrent(G4String name, G4int depth=0);
virtual ~G4PSPassageCellCurrent();
public:
virtual ~G4PSPassageCurrent();
inline void Weighted(G4bool flg=true) { weighted = flg; }
// Multiply track weight
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
@@ -72,8 +73,8 @@ class G4PSPassageCurrent : public G4VPrimitiveScorer
G4int HCID;
G4int fCurrentTrkID;
G4double fCurrent;
G4double fCurrentSquare;
G4THitsMap<G4double>* EvtMap;
G4bool weighted;
};
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSPassageCellCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageCellCurrent3D_h
#define G4PSPassageCellCurrent3D_h 1
#include "G4PSPassageCellCurrent.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring a current.
// The number of tracks passing through the geometry are taken
// into account.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSPassageCellCurrent3D : public G4PSPassageCellCurrent
{
public: // with description
G4PSPassageCellCurrent3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSPassageCellCurrent3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSPassageCellFlux.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSPassageCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageCellFlux_h
@@ -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. *
// ********************************************************************
//
//
// $Id: G4PSPassageCellFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageCellFlux3D_h
#define G4PSPassageCellFlux3D_h 1
#include "G4PSPassageCellFlux.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring cell flux.
// The Cell Flux is defined by a track length divided by a geometry
// volume, where only tracks passing through the geometry are taken
// into account. e.g. the unit of Cell Flux is mm/mm3.
//
// If you want to score all tracks in the geometry volume,
// please use G4PSCellFlux.
//
// Created: 2007-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSPassageCellFlux3D : public G4PSPassageCellFlux
{
public: // with description
G4PSPassageCellFlux3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSPassageCellFlux3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSPassageTrackLength.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSPassageTrackLength.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageTrackLength_h
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSPassageTrackLength3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPassageTrackLength3D_h
#define G4PSPassageTrackLength3D_h 1
#include "G4PSPassageTrackLength.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring only track length.
// The tracks which passed a geometry is taken into account.
//
//
// Created: 2008-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSPassageTrackLength3D : public G4PSPassageTrackLength
{
public: // with description
G4PSPassageTrackLength3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSPassageTrackLength3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSPopulation.hh,v 1.2 2007/06/21 15:03:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSPopulation.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPopulation_h
@@ -37,12 +37,12 @@
#include "G4TrackLogger.hh"
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of Steps in the cell.
//
// This is a primitive scorer class for scoring population in a cell.
//
// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura.
//
//
///////////////////////////////////////////////////////////////////////////////
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSPopulation3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSPopulation3D_h
#define G4PSPopulation3D_h 1
#include "G4PSPopulation.hh"
//////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring population in a cell.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSPopulation3D : public G4PSPopulation
{
public: // with description
G4PSPopulation3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
public:
virtual ~G4PSPopulation3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSSphereSurfaceCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSSphereSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSSphereSurfaceCurrent_h
@@ -52,6 +52,7 @@
//
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
// 17-Nov-2005 Bug fix. square definition.
// 31-Mar-2007 T.Aso, Add option for normalizing by the area.
//
///////////////////////////////////////////////////////////////////////////////
@@ -62,6 +63,11 @@ class G4PSSphereSurfaceCurrent : public G4VPrimitiveScorer
G4PSSphereSurfaceCurrent(G4String name, G4int direction, G4int depth=0);
virtual ~G4PSSphereSurfaceCurrent();
inline void Weighted(G4bool flg=true) { weighted = flg; }
// Multiply track weight
inline void DivideByArea(G4bool flg=true) { divideByArea = flg; }
// Divided by Area.
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
G4int IsSelectedSurface(G4Step*,G4Sphere*);
@@ -77,6 +83,8 @@ class G4PSSphereSurfaceCurrent : public G4VPrimitiveScorer
G4int HCID;
G4int fDirection;
G4THitsMap<G4double>* EvtMap;
G4bool weighted;
G4bool divideByArea;
};
@@ -0,0 +1,73 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSSphereSurfaceCurrent3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSSphereSurfaceCurrent3D_h
#define G4PSSphereSurfaceCurrent3D_h 1
#include "G4PSSphereSurfaceCurrent.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Current.
// Current version assumes only for G4Sphere shape, and the surface
// is defined at the inside of the sphere.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the inside of sphere.
// Direction -Rmin +Rmax
// 0 IN || OUT ->|<- | fCurrent_InOut
// 1 IN ->| | fCurrent_In
// 2 OUT |<- | fCurrent_Out
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSSphereSurfaceCurrent3D : public G4PSSphereSurfaceCurrent
{
public: // with description
G4PSSphereSurfaceCurrent3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSSphereSurfaceCurrent3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSSphereSurfaceFlux.hh,v 1.2 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSSphereSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSSphereSurfaceFlux_h
@@ -24,34 +24,49 @@
// ********************************************************************
//
//
// $Id: G4DNAEmfietzoglouAngularDistributionPolicy.hh,v 1.2 2006/06/29 19:34:06 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSSphereSurfaceFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
// Nucl. Instr. Meth. 155 (1978) 145-156
// J. Phys. D: Appl. Phys. 33 (2000) 932-944
// Phys. Med. Biol. 45 (2000) 3171-3194
#ifndef G4DNAEMFIETZOGLOUANGULARDISTRIBUTIONPOLICY_HH
#define G4DNAEMFIETZOGLOUANGULARDISTRIBUTIONPOLICY_HH
#ifndef G4PSSphereSurfaceFlux3D_h
#define G4PSSphereSurfaceFlux3D_h 1
#include "G4PSSphereSurfaceFlux.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Surface Flux.
// Flux version assumes only for G4Sphere shape, and the surface
// is defined at the inside of the sphere.
// The current is given in the unit of area.
// e.g. (Number of tracks)/mm2.
//
// Surface is defined at the inside of sphere.
// Direction -Rmin +Rmax
// 0 IN || OUT ->|<- | fFlux_InOut
// 1 IN ->| | fFlux_In
// 2 OUT |<- | fFlux_Out
//
// Created: 2007-08-14 Tsukasa ASO
///////////////////////////////////////////////////////////////////////////////
class G4PSSphereSurfaceFlux3D : public G4PSSphereSurfaceFlux
{
#include "globals.hh"
public: // with description
G4PSSphereSurfaceFlux3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
class G4DNAEmfietzoglouAngularDistributionPolicy
{
protected:
G4DNAEmfietzoglouAngularDistributionPolicy() {}
~G4DNAEmfietzoglouAngularDistributionPolicy() {}
virtual ~G4PSSphereSurfaceFlux3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
G4double RandomizeCosTheta(G4double k, G4int z) const;
G4bool KillIncomingParticle(G4double /* k */) const { return false; }
void BuildFinalStatesData(void) const {}
private:
G4double ScreeningFactor(G4double k, G4int z) const;
G4int fDepthi, fDepthj, fDepthk;
};
#endif
// Hides default constructor and assignment operator as private
G4DNAEmfietzoglouAngularDistributionPolicy(const G4DNAEmfietzoglouAngularDistributionPolicy & copy);
G4DNAEmfietzoglouAngularDistributionPolicy & operator=(const G4DNAEmfietzoglouAngularDistributionPolicy & right);
};
#endif /* G4DNAEMFIETZOGLOUANGULARDISTRIBUTIONPOLICY_HH */
@@ -0,0 +1,83 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSTermination.hh,v 1.2 2007/12/10 16:29:35 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSTermination_h
#define G4PSTermination_h 1
#include "G4VPrimitiveScorer.hh"
#include "G4THitsMap.hh"
//////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of Steps in the cell.
//
// Created: 2007-2-2 Tsukasa ASO, Akinori Kimura.
//
///////////////////////////////////////////////////////////////////////////////
class G4PSTermination : public G4VPrimitiveScorer
{
public: // with description
G4PSTermination(G4String name, G4int depth=0);
protected: // with description
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
public:
virtual ~G4PSTermination();
inline void Weighted(G4bool flg=true) { weighted = flg; }
// Multiply track weight
public:
virtual void Initialize(G4HCofThisEvent*);
virtual void EndOfEvent(G4HCofThisEvent*);
virtual void clear();
public:
virtual void DrawAll();
virtual void PrintAll();
private:
G4int HCID;
G4THitsMap<G4double>* EvtMap;
G4bool weighted;
public:
};
#endif
@@ -24,34 +24,41 @@
// ********************************************************************
//
//
// $Id: G4DNAProtonExcitation.cc,v 1.2 2006/06/29 19:39:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSTermination3D.hh,v 1.3 2007/12/10 16:29:37 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#include "G4DNAProtonExcitation.hh"
#include "G4Proton.hh"
#ifndef G4PSTermination3D_h
#define G4PSTermination3D_h 1
G4DNAProtonExcitationEnergyLimitsPolicy :: G4DNAProtonExcitationEnergyLimitsPolicy()
:
lowEnergyLimit(100*eV),
zeroBelowLowEnergyLimit(false),
highEnergyLimit(100*MeV),
zeroAboveHighEnergyLimit(true)
#include "G4PSTermination.hh"
//////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of tracks
// which stops(terminated) in the cell.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSTermination3D : public G4PSTermination
{
}
public: // with description
G4PSTermination3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int di=2, G4int dj=1, G4int dk=0);
virtual ~G4PSTermination3D();
G4DNAProtonExcitationIncomingParticlePolicy :: G4DNAProtonExcitationIncomingParticlePolicy()
:
kineticEnergyCorrection(1.)
{
slaterEffectiveCharge[0]=0.;
slaterEffectiveCharge[1]=0.;
slaterEffectiveCharge[2]=0.;
sCoefficient[0]=0.;
sCoefficient[1]=0.;
sCoefficient[2]=0.;
}
protected: // with description
virtual G4int GetIndex(G4Step*);
const G4ParticleDefinition * G4DNAProtonExcitationIncomingParticlePolicy :: IncomingParticleDefinition(void) const
{
return G4Proton::Proton();
}
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSTrackCounter.hh,v 1.2 2007/06/21 15:03:56 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSTrackCounter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSTrackCounter_h
@@ -36,15 +36,13 @@
#include "G4PSDirectionFlag.hh"
//////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring Number of Steps in the cell.
//
// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura.
//
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring number of tracks in a cell.
//
// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura.
//
///////////////////////////////////////////////////////////////////////////////
class G4PSTrackCounter : public G4VPrimitiveScorer
{
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSTrackCounter3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSTrackCounter3D_h
#define G4PSTrackCounter3D_h 1
#include "G4PSTrackCounter.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring number of tracks in a cell.
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSTrackCounter3D : public G4PSTrackCounter
{
public: // with description
G4PSTrackCounter3D(G4String name, G4int direction,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int di=2, G4int dj=1, G4int dk=0);
public:
virtual ~G4PSTrackCounter3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSTrackLength.hh,v 1.5 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSTrackLength.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSTrackLength_h
@@ -40,7 +40,7 @@
//
//
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
// Modified: 2007-02-02 Tsukasa ASO, Add MultiolyKineticEnergy()
// Modified: 2007-02-02 Tsukasa ASO, Add MultiplyKineticEnergy()
// and DivideByVelocity().
//
//
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSTrackLength3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4PSTrackLength3D_h
#define G4PSTrackLength3D_h 1
#include "G4PSTrackLength.hh"
////////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for scoring track length.
//
//
// Created: 2008-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
class G4PSTrackLength3D : public G4PSTrackLength
{
public: // with description
G4PSTrackLength3D(G4String name,
G4int ni=1,G4int nj=1, G4int nk=1,
G4int depi=2, G4int depj=1, G4int depk=0);
virtual ~G4PSTrackLength3D();
protected: // with description
virtual G4int GetIndex(G4Step*);
private:
G4int fDepthi, fDepthj, fDepthk;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SDChargedFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4SDChargedFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDChargedFilter_h
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SDKineticEnergyFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4SDKineticEnergyFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDKineticEnergyFilter_h
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SDNeutralFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4SDNeutralFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDNeutralFilter_h
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SDParticleFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4SDParticleFilter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDParticleFilter_h
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SDParticleWithEnergyFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4SDParticleWithEnergyFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
#ifndef G4SDParticleWithEnergyFilter_h
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PSCellCharge.cc,v 1.3 2007/05/18 00:00:37 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSCellCharge.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4PSCellCharge
#include "G4PSCellCharge.hh"
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4PSCellCharge3D.cc,v 1.3 2007/08/29 06:36:41 taso Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4PSCellCharge3D
#include "G4PSCellCharge3D.hh"
///////////////////////////////////////////////////////////////////////////////
// (Description)
// This is a primitive scorer class for 3D scoring cell charge.
// The Cell Charge is defined by a sum of charge inside the cell
// which calculates the deposited charge in the cell.
//
//
//
// Created: 2007-08-14 Tsukasa ASO
//
///////////////////////////////////////////////////////////////////////////////
G4PSCellCharge3D::G4PSCellCharge3D(G4String name,
G4int ni, G4int nj, G4int nk,
G4int depi, G4int depj, G4int depk)
:G4PSCellCharge(name),
fDepthi(depi),fDepthj(depj),fDepthk(depk)
{
fNi=ni;
fNj=nj;
fNk=nk;
}
G4PSCellCharge3D::~G4PSCellCharge3D()
{;}
G4int G4PSCellCharge3D::GetIndex(G4Step* aStep)
{
const G4VTouchable* touchable = aStep->GetPreStepPoint()->GetTouchable();
G4int i = touchable->GetReplicaNumber(fDepthi);
G4int j = touchable->GetReplicaNumber(fDepthj);
G4int k = touchable->GetReplicaNumber(fDepthk);
return i*fNj*fNk+j*fNk+k;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PSCellFlux.cc,v 1.5 2007/05/18 00:00:38 asaim Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PSCellFlux.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// G4PSCellFlux
#include "G4PSCellFlux.hh"

Some files were not shown because too many files have changed in this diff Show More