Import Geant4 9.1.0 source tree
This commit is contained in:
@@ -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: G4PSCellCharge.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSCellCharge_h
|
||||
#define G4PSCellCharge_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.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 G4PSCellCharge : public G4VPrimitiveScorer
|
||||
{
|
||||
public: // with description
|
||||
G4PSCellCharge(G4String name, G4int depth=0);
|
||||
virtual ~G4PSCellCharge();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSCellFlux_h
|
||||
#define G4PSCellFlux_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for 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 G4PSPassageCellFlux.
|
||||
//
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class G4PSCellFlux : public G4VPrimitiveScorer
|
||||
{
|
||||
public: // with description
|
||||
G4PSCellFlux(G4String name, G4int depth=0);
|
||||
virtual ~G4PSCellFlux();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSDirectionFlag.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
// G4PSDirectionFlag.hh
|
||||
//
|
||||
// Class Description:
|
||||
// This is an enumerator to define the direction of
|
||||
// the particle's Surface Current or Flux for PrimitiveScorer
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
#ifndef G4PSDirectionFlag_h
|
||||
#define G4PSDirectionFlag_h 1
|
||||
|
||||
//////////////////
|
||||
enum G4PSFluxFlag
|
||||
//////////////////
|
||||
{
|
||||
fFlux_InOut,
|
||||
// For both direction In / Out.
|
||||
fFlux_In,
|
||||
// IN : Direction which comes into the geometry
|
||||
fFlux_Out
|
||||
};
|
||||
|
||||
/////////////////////
|
||||
enum G4PSCurrentFlag
|
||||
/////////////////////
|
||||
{
|
||||
fCurrent_InOut,
|
||||
// For both direction In / Out.
|
||||
fCurrent_In,
|
||||
// IN : Direction which comes into the geometry
|
||||
fCurrent_Out
|
||||
// OUT : Direction which goes out fromthe geometry
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -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: G4PSDoseDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSDoseDeposit_h
|
||||
#define G4PSDoseDeposit_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// Primitive scorer class for scoring dose deposit in the geometry volume.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSDoseDeposit : public G4VPrimitiveScorer
|
||||
{
|
||||
public: // with description
|
||||
G4PSDoseDeposit(G4String name, G4int depth=0);
|
||||
virtual ~G4PSDoseDeposit();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
};
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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: G4PSEnergyDeposit.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSEnergyDeposit_h
|
||||
#define G4PSEnergyDeposit_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Description:
|
||||
// This is a primitive scorer class for scoring energy deposit.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSEnergyDeposit : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSEnergyDeposit(G4String name, G4int depth=0);
|
||||
virtual ~G4PSEnergyDeposit();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
};
|
||||
#endif
|
||||
@@ -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: G4PSEnergyDeposit3D.hh,v 1.2 2007/08/28 08:01:55 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSEnergyDeposit3D_h
|
||||
#define G4PSEnergyDeposit3D_h 1
|
||||
|
||||
#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();
|
||||
|
||||
protected: // with description
|
||||
virtual G4int GetIndex(G4Step*);
|
||||
|
||||
private:
|
||||
G4int fDepthi, fDepthj, fDepthk;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSFlatSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSFlatSurfaceCurrent_h
|
||||
#define G4PSFlatSurfaceCurrent_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
#include "G4Box.hh"
|
||||
#include "G4PSDirectionFlag.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: 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.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSFlatSurfaceCurrent : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
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*);
|
||||
|
||||
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: 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
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSFlatSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSFlatSurfaceFlux_h
|
||||
#define G4PSFlatSurfaceFlux_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
#include "G4Box.hh"
|
||||
#include "G4PSDirectionFlag.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: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
// 18-Nov-2005 T.Aso, To use always positive value for anglefactor.
|
||||
// Bug fix. Area definition.
|
||||
// 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux.
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSFlatSurfaceFlux : public G4VPrimitiveScorer
|
||||
{
|
||||
public: // with description
|
||||
G4PSFlatSurfaceFlux(G4String name,G4int direction, G4int depth=0);
|
||||
virtual ~G4PSFlatSurfaceFlux();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
G4int IsSelectedSurface(G4Step*,G4Box*);
|
||||
|
||||
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,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
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSMinKinEAtGeneration.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSMinKinEAtGeneration_h
|
||||
#define G4PSMinKinEAtGeneration_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// 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.
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class G4PSMinKinEAtGeneration : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSMinKinEAtGeneration(G4String name, G4int depth=0);
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSMinKinEAtGeneration();
|
||||
|
||||
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;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
|
||||
@@ -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: G4PSNofCollision.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSNofCollision_h
|
||||
#define G4PSNofCollision_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 G4PSNofCollision : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSNofCollision(G4String name, G4int depth=0);
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSNofCollision();
|
||||
|
||||
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
|
||||
@@ -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
|
||||
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSNofSecondary.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSNofSecondary_h
|
||||
#define G4PSNofSecondary_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring Number of particles
|
||||
// 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.
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
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*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSNofSecondary();
|
||||
|
||||
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;
|
||||
G4ParticleDefinition* particleDef;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSNofStep.hh,v 1.2 2007/08/29 06:36:41 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSNofStep_h
|
||||
#define G4PSNofStep_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring Number of Steps in the cell.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class G4PSNofStep : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSNofStep(G4String name, G4int depth=0);
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSNofStep();
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
|
||||
public:
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
public:
|
||||
void SetBoundaryFlag(G4bool flg=true)
|
||||
{boundaryFlag = flg;}
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
|
||||
G4bool boundaryFlag;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSPassageCellCurrent.hh,v 1.1 2007/08/14 21:30:45 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSPassageCellCurrent_h
|
||||
#define G4PSPassageCellCurrent_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring current.
|
||||
// The number of tracks passing through the geometry are taken
|
||||
// into account.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class G4PSPassageCellCurrent : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSPassageCellCurrent(G4String name, G4int depth=0);
|
||||
virtual ~G4PSPassageCellCurrent();
|
||||
|
||||
inline void Weighted(G4bool flg=true) { weighted = flg; }
|
||||
// Multiply track weight
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
virtual G4bool IsPassed(G4Step*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
|
||||
public:
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4int fCurrentTrkID;
|
||||
G4double fCurrent;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
G4bool weighted;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSPassageCellFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSPassageCellFlux_h
|
||||
#define G4PSPassageCellFlux_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.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: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSPassageCellFlux : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSPassageCellFlux(G4String name, G4int depth=0);
|
||||
virtual ~G4PSPassageCellFlux();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
virtual G4bool IsPassed(G4Step*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4int fCurrentTrkID;
|
||||
G4double fCellFlux;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSPassageTrackLength.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSPassageTrackLength_h
|
||||
#define G4PSPassageTrackLength_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring only track length.
|
||||
// The tracks which passed a geometry is taken into account.
|
||||
//
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSPassageTrackLength : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSPassageTrackLength(G4String name, G4int depth=0);
|
||||
virtual ~G4PSPassageTrackLength();
|
||||
|
||||
inline void Weighted(G4bool flg=true) { weighted = flg; }
|
||||
// Multiply track weight
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
G4bool IsPassed(G4Step*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4int fCurrentTrkID;
|
||||
G4double fTrackLength;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
G4bool weighted;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSPopulation.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSPopulation_h
|
||||
#define G4PSPopulation_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
#include <map>
|
||||
|
||||
#include "G4TrackLogger.hh"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring population in a cell.
|
||||
//
|
||||
// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class G4PSPopulation : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSPopulation(G4String name, G4int depth=0);
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSPopulation();
|
||||
|
||||
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;
|
||||
std::map<G4int,G4TrackLogger> fCellTrackLogger;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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: G4PSSphereSurfaceCurrent.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSSphereSurfaceCurrent_h
|
||||
#define G4PSSphereSurfaceCurrent_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
#include "G4Sphere.hh"
|
||||
#include "G4PSDirectionFlag.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: 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.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSSphereSurfaceCurrent : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
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*);
|
||||
|
||||
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,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
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSSphereSurfaceFlux.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSSphereSurfaceFlux_h
|
||||
#define G4PSSphereSurfaceFlux_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
#include "G4Sphere.hh"
|
||||
#include "G4PSDirectionFlag.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: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
// 17-Nov-2005 Bug fix. square definition.
|
||||
// 29-Mar-2007 T.Aso, Bug fix for momentum direction at outgoing flux.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSSphereSurfaceFlux : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSSphereSurfaceFlux(G4String name, G4int direction, G4int depth=0);
|
||||
virtual ~G4PSSphereSurfaceFlux();
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
G4int IsSelectedSurface(G4Step*,G4Sphere*);
|
||||
|
||||
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,72 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSSphereSurfaceFlux3D.hh,v 1.2 2007/08/28 10:11:29 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#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
|
||||
{
|
||||
|
||||
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);
|
||||
|
||||
virtual ~G4PSSphereSurfaceFlux3D();
|
||||
|
||||
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: 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
|
||||
@@ -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: G4PSTermination3D.hh,v 1.3 2007/12/10 16:29:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSTermination3D_h
|
||||
#define G4PSTermination3D_h 1
|
||||
|
||||
#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();
|
||||
|
||||
protected: // with description
|
||||
virtual G4int GetIndex(G4Step*);
|
||||
|
||||
private:
|
||||
G4int fDepthi, fDepthj, fDepthk;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4PSTrackCounter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSTrackCounter_h
|
||||
#define G4PSTrackCounter_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
#include "G4PSDirectionFlag.hh"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// (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
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSTrackCounter(G4String name, G4int direction, G4int depth=0);
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual ~G4PSTrackCounter();
|
||||
|
||||
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;
|
||||
G4int fDirection;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
G4bool weighted;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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: G4PSTrackLength.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4PSTrackLength_h
|
||||
#define G4PSTrackLength_h 1
|
||||
|
||||
#include "G4VPrimitiveScorer.hh"
|
||||
#include "G4THitsMap.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// (Description)
|
||||
// This is a primitive scorer class for scoring track length.
|
||||
//
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura.
|
||||
// Modified: 2007-02-02 Tsukasa ASO, Add MultiplyKineticEnergy()
|
||||
// and DivideByVelocity().
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4PSTrackLength : public G4VPrimitiveScorer
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4PSTrackLength(G4String name, G4int depth=0);
|
||||
virtual ~G4PSTrackLength();
|
||||
|
||||
inline void Weighted(G4bool flg=true) { weighted = flg; }
|
||||
// Multiply track weight
|
||||
|
||||
inline void MultiplyKineticEnergy(G4bool flg=true) { multiplyKinE = flg; }
|
||||
// Multiply Kinetic Energy
|
||||
|
||||
inline void DivideByVelocity(G4bool flg=true) { divideByVelocity = flg; }
|
||||
// Divide by velocity
|
||||
|
||||
|
||||
protected: // with description
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
|
||||
public:
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void DrawAll();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
G4int HCID;
|
||||
G4THitsMap<G4double>* EvtMap;
|
||||
G4bool weighted;
|
||||
G4bool multiplyKinE;
|
||||
G4bool divideByVelocity;
|
||||
};
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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: G4SDChargedFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4SDChargedFilter_h
|
||||
#define G4SDChargedFilter_h 1
|
||||
|
||||
class G4Step;
|
||||
class G4ChargedDefinition;
|
||||
#include "globals.hh"
|
||||
#include "G4VSDFilter.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class description:
|
||||
//
|
||||
// This is the class of a filter to be associated with a
|
||||
// sensitive detector.
|
||||
// This fileter accepts charged particles.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4SDChargedFilter : public G4VSDFilter
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4SDChargedFilter(G4String name);
|
||||
virtual ~G4SDChargedFilter();
|
||||
|
||||
public: // with description
|
||||
virtual G4bool Accept(const G4Step*) const;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4SDKineticEnergyFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4SDKineticEnergyFilter_h
|
||||
#define G4SDKineticEnergyFilter_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VSDFilter.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class description:
|
||||
//
|
||||
// This is the class of a filter to be associated with a
|
||||
// sensitive detector.
|
||||
//
|
||||
// This filter accepts particles defined energy range.
|
||||
// The energy range is given at constructor, or Set methods.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4SDKineticEnergyFilter : public G4VSDFilter
|
||||
{
|
||||
|
||||
//-------
|
||||
public: // with description
|
||||
G4SDKineticEnergyFilter(G4String name,
|
||||
G4double elow=0.0,
|
||||
G4double ehigh=DBL_MAX);
|
||||
// Constructor. Filter name and kinetic energy range( elow, ehigh).
|
||||
|
||||
virtual ~G4SDKineticEnergyFilter();
|
||||
|
||||
public: // with description
|
||||
virtual G4bool Accept(const G4Step*) const;
|
||||
|
||||
void SetKineticEnergy(G4double elow, G4double ehigh);
|
||||
void SetLowEnergy(G4double elow);
|
||||
void SetHighEnergy(G4double ehigh);
|
||||
// Set methods for kinetic energy range.
|
||||
//
|
||||
void show();
|
||||
|
||||
private:
|
||||
G4double fLowEnergy;
|
||||
G4double fHighEnergy;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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: G4SDNeutralFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4SDNeutralFilter_h
|
||||
#define G4SDNeutralFilter_h 1
|
||||
|
||||
class G4Step;
|
||||
class G4NeutralDefinition;
|
||||
#include "globals.hh"
|
||||
#include "G4VSDFilter.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class description:
|
||||
//
|
||||
// This is the class of a filter to be associated with a
|
||||
// sensitive detector.
|
||||
//
|
||||
// This filter accepts neutral tracks.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4SDNeutralFilter : public G4VSDFilter
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4SDNeutralFilter(G4String name);
|
||||
virtual ~G4SDNeutralFilter();
|
||||
|
||||
public: // with description
|
||||
virtual G4bool Accept(const G4Step*) const;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4SDParticleFilter.hh,v 1.2 2007/08/14 21:23:51 taso Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4SDParticleFilter_h
|
||||
#define G4SDParticleFilter_h 1
|
||||
|
||||
class G4Step;
|
||||
class G4ParticleDefinition;
|
||||
#include "globals.hh"
|
||||
#include "G4VSDFilter.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class description:
|
||||
//
|
||||
// This is the class of a filter to be associated with a
|
||||
// sensitive detector.
|
||||
// This class filters steps by partilce definition.
|
||||
// The particles are given at constructor or add() method.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4SDParticleFilter : public G4VSDFilter
|
||||
{
|
||||
|
||||
public: // with description
|
||||
G4SDParticleFilter(G4String name);
|
||||
G4SDParticleFilter(G4String name,const G4String& particleName);
|
||||
G4SDParticleFilter(G4String name,
|
||||
const std::vector<G4String>& particleNames);
|
||||
G4SDParticleFilter(G4String name,
|
||||
const std::vector<G4ParticleDefinition*>& particleDef);
|
||||
// Constructors. Filter name and particle's name.
|
||||
//
|
||||
|
||||
virtual ~G4SDParticleFilter();
|
||||
|
||||
public: // with description
|
||||
virtual G4bool Accept(const G4Step*) const;
|
||||
|
||||
void add(const G4String& particleName);
|
||||
// set method for acceptable particle name.
|
||||
//
|
||||
void show();
|
||||
|
||||
private:
|
||||
std::vector<G4ParticleDefinition*> thePdef;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4SDParticleWithEnergyFilter.hh,v 1.1 2007/07/11 01:29:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
//
|
||||
|
||||
#ifndef G4SDParticleWithEnergyFilter_h
|
||||
#define G4SDParticleWithEnergyFilter_h 1
|
||||
|
||||
class G4Step;
|
||||
class G4ParticleDefinition;
|
||||
#include "globals.hh"
|
||||
#include "G4VSDFilter.hh"
|
||||
#include "G4SDParticleFilter.hh"
|
||||
#include "G4SDKineticEnergyFilter.hh"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// class description:
|
||||
//
|
||||
// This is the class of a filter to be associated with a
|
||||
// sensitive detector.
|
||||
// This class filters steps by partilce definition and kinetic energy.
|
||||
//
|
||||
// Created: 2005-11-14 Tsukasa ASO.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class G4SDParticleWithEnergyFilter : public G4VSDFilter
|
||||
{
|
||||
public: // with description
|
||||
G4SDParticleWithEnergyFilter(G4String name,
|
||||
G4double elow=0.0, G4double ehigh=DBL_MAX);
|
||||
virtual ~G4SDParticleWithEnergyFilter();
|
||||
|
||||
public: // with description
|
||||
virtual G4bool Accept(const G4Step*) const;
|
||||
|
||||
void add(const G4String& particleName);
|
||||
// add the particle into accepatable particle list.
|
||||
//
|
||||
void SetKineticEnergy(G4double elow, G4double ehigh);
|
||||
// Set acceptable kinetic energy range.
|
||||
//
|
||||
void show();
|
||||
|
||||
private:
|
||||
G4SDParticleFilter* fParticleFilter;
|
||||
G4SDKineticEnergyFilter* fKineticFilter;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user