Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -23,94 +23,96 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class G4GeometryCellStep
|
||||
// G4GeometryCellStep
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// This class serves to address the "cell" a track previously
|
||||
// touched and a "cell" a track is currently in. It is used
|
||||
// for scoring and importance sampling in the "mass" geometry as well
|
||||
// as in a "parallel" geometry.
|
||||
// The "cell" information is available with the GetPreGeometryCell and
|
||||
// the GetPostGeometryCell functions.
|
||||
// The GetCrossBoundary finction returns true in case the step
|
||||
// This class serves to address the "cell" a track previously touched
|
||||
// and a "cell" a track is currently in. It is used for scoring and
|
||||
// importance sampling in the "mass" geometry as well as in a "parallel"
|
||||
// geometry.
|
||||
// The "cell" information is available with the GetPreGeometryCell() and
|
||||
// the GetPostGeometryCell() functions.
|
||||
// The GetCrossBoundary() function returns true in case the step
|
||||
// crosses a boundary in the geometry this G4GeometryCellStep
|
||||
// refers to.
|
||||
|
||||
// Author: Michael Dressel (Michael.Dressel@cern.ch)
|
||||
// Author: Michael Dressel (CERN), 2002
|
||||
// ----------------------------------------------------------------------
|
||||
#ifndef G4GeometryCellStep_hh
|
||||
#define G4GeometryCellStep_hh G4GeometryCellStep_hh
|
||||
#ifndef G4GEOMETRYCELLSTEP_HH
|
||||
#define G4GEOMETRYCELLSTEP_HH 1
|
||||
|
||||
#include "G4GeometryCell.hh"
|
||||
|
||||
class G4GeometryCellStep
|
||||
{
|
||||
public: // with description
|
||||
G4GeometryCellStep(const G4GeometryCell &preCell,
|
||||
const G4GeometryCell &postCell);
|
||||
// initialise pre and post G4GeometryCell
|
||||
public: // with description
|
||||
|
||||
~G4GeometryCellStep();
|
||||
G4GeometryCellStep(const G4GeometryCell& preCell,
|
||||
const G4GeometryCell& postCell);
|
||||
// initialise pre and post G4GeometryCell
|
||||
|
||||
const G4GeometryCell &GetPreGeometryCell() const;
|
||||
// addressing the "cell" the track previously touched
|
||||
~G4GeometryCellStep();
|
||||
|
||||
const G4GeometryCell &GetPostGeometryCell() const;
|
||||
// addressing the current "cell"
|
||||
inline const G4GeometryCell& GetPreGeometryCell() const;
|
||||
// addressing the "cell" the track previously touched
|
||||
|
||||
G4bool GetCrossBoundary() const;
|
||||
// returns true if step crosses boundary of the geometry it refers to
|
||||
inline const G4GeometryCell& GetPostGeometryCell() const;
|
||||
// addressing the current "cell"
|
||||
|
||||
// the following functions are used by the scoring and importance
|
||||
// system to set the cell information.
|
||||
void SetPreGeometryCell(const G4GeometryCell &preCell);
|
||||
|
||||
void SetPostGeometryCell(const G4GeometryCell &postCell);
|
||||
|
||||
void SetCrossBoundary(G4bool b);
|
||||
inline G4bool GetCrossBoundary() const;
|
||||
// returns true if step crosses boundary of the geometry it refers to
|
||||
|
||||
private:
|
||||
G4GeometryCell fPreGeometryCell;
|
||||
G4GeometryCell fPostGeometryCell;
|
||||
G4bool fCrossBoundary;
|
||||
// the following functions are used by the scoring and importance
|
||||
// system to set the cell information.
|
||||
//
|
||||
inline void SetPreGeometryCell(const G4GeometryCell& preCell);
|
||||
inline void SetPostGeometryCell(const G4GeometryCell& postCell);
|
||||
inline void SetCrossBoundary(G4bool b);
|
||||
|
||||
private:
|
||||
|
||||
G4GeometryCell fPreGeometryCell;
|
||||
G4GeometryCell fPostGeometryCell;
|
||||
G4bool fCrossBoundary = false;
|
||||
};
|
||||
|
||||
// Inline methods
|
||||
|
||||
|
||||
inline void G4GeometryCellStep::SetPreGeometryCell(const G4GeometryCell &preCell)
|
||||
inline void
|
||||
G4GeometryCellStep::SetPreGeometryCell(const G4GeometryCell& preCell)
|
||||
{
|
||||
fPreGeometryCell = preCell;
|
||||
}
|
||||
|
||||
inline void G4GeometryCellStep::SetPostGeometryCell(const G4GeometryCell &postCell)
|
||||
inline void
|
||||
G4GeometryCellStep::SetPostGeometryCell(const G4GeometryCell& postCell)
|
||||
{
|
||||
fPostGeometryCell = postCell;
|
||||
}
|
||||
|
||||
inline void G4GeometryCellStep::SetCrossBoundary(G4bool b)
|
||||
inline void
|
||||
G4GeometryCellStep::SetCrossBoundary(G4bool b)
|
||||
{
|
||||
fCrossBoundary = b;
|
||||
}
|
||||
|
||||
inline const G4GeometryCell &G4GeometryCellStep::GetPreGeometryCell() const
|
||||
inline const G4GeometryCell&
|
||||
G4GeometryCellStep::GetPreGeometryCell() const
|
||||
{
|
||||
return fPreGeometryCell;
|
||||
}
|
||||
|
||||
inline const G4GeometryCell &G4GeometryCellStep::GetPostGeometryCell() const
|
||||
inline const G4GeometryCell&
|
||||
G4GeometryCellStep::GetPostGeometryCell() const
|
||||
{
|
||||
return fPostGeometryCell;
|
||||
}
|
||||
|
||||
inline G4bool G4GeometryCellStep::GetCrossBoundary() const
|
||||
inline G4bool
|
||||
G4GeometryCellStep::GetCrossBoundary() const
|
||||
{
|
||||
return fCrossBoundary;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user