Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4GeometryCellStep.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// G4GeometryCellStep
27//
28// Class description:
29//
30// This class serves to address the "cell" a track previously touched
31// and a "cell" a track is currently in. It is used for scoring and
32// importance sampling in the "mass" geometry as well as in a "parallel"
33// geometry.
34// The "cell" information is available with the GetPreGeometryCell() and
35// the GetPostGeometryCell() functions.
36// The GetCrossBoundary() function returns true in case the step
37// crosses a boundary in the geometry this G4GeometryCellStep
38// refers to.
39
40// Author: Michael Dressel (CERN), 2002
41// ----------------------------------------------------------------------
42#ifndef G4GEOMETRYCELLSTEP_HH
43#define G4GEOMETRYCELLSTEP_HH 1
44
45#include "G4GeometryCell.hh"
46
48{
49 public: // with description
50
51 G4GeometryCellStep(const G4GeometryCell& preCell,
52 const G4GeometryCell& postCell);
53 // initialise pre and post G4GeometryCell
54
56
57 inline const G4GeometryCell& GetPreGeometryCell() const;
58 // addressing the "cell" the track previously touched
59
60 inline const G4GeometryCell& GetPostGeometryCell() const;
61 // addressing the current "cell"
62
63 inline G4bool GetCrossBoundary() const;
64 // returns true if step crosses boundary of the geometry it refers to
65
66 // the following functions are used by the scoring and importance
67 // system to set the cell information.
68 //
69 inline void SetPreGeometryCell(const G4GeometryCell& preCell);
70 inline void SetPostGeometryCell(const G4GeometryCell& postCell);
71 inline void SetCrossBoundary(G4bool b);
72
73 private:
74
75 G4GeometryCell fPreGeometryCell;
76 G4GeometryCell fPostGeometryCell;
77 G4bool fCrossBoundary = false;
78};
79
80// Inline methods
81
82inline void
84{
85 fPreGeometryCell = preCell;
86}
87
88inline void
90{
91 fPostGeometryCell = postCell;
92}
93
94inline void
96{
97 fCrossBoundary = b;
98}
99
100inline const G4GeometryCell&
102{
103 return fPreGeometryCell;
104}
105
106inline const G4GeometryCell&
108{
109 return fPostGeometryCell;
110}
111
112inline G4bool
114{
115 return fCrossBoundary;
116}
117
118#endif
bool G4bool
Definition G4Types.hh:86
G4GeometryCellStep(const G4GeometryCell &preCell, const G4GeometryCell &postCell)
void SetPreGeometryCell(const G4GeometryCell &preCell)
void SetPostGeometryCell(const G4GeometryCell &postCell)
void SetCrossBoundary(G4bool b)
const G4GeometryCell & GetPreGeometryCell() const
G4bool GetCrossBoundary() const
const G4GeometryCell & GetPostGeometryCell() const