Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4ProcessAttribute.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//
27// $Id$
28//
29//
30// ------------------------------------------------------------
31// GEANT 4 class header file
32//
33// History: first implementation, based on object model of
34// 2nd December 1997, H.Kurashige
35// ---------------- G4ProcessAttribute -----------------
36// Class Description
37// This class is used by G4ProcessManager ONLY for booking !!!
38//
39// History:
40// adds copy constructor 27 June 1998 H.Kurashige
41// ------------------------------------------------------------
42
43#ifndef G4ProcessAttribute_h
44#define G4ProcessAttribute_h 1
45
46#include "globals.hh"
47#include "G4ios.hh"
48
49#include "G4ProcessManager.hh"
50
51class G4VProcess;
52
54{
55 // this class is used by G4ProcessManager ONLY for booking !!!
56 friend class G4ProcessManager;
57 public:
59 G4ProcessAttribute(const G4VProcess* aProcess);
61 // Constructors
62
64 // Destructor
65
67 // Assignment operator
68
69 G4int operator==(const G4ProcessAttribute &right) const;
70 G4int operator!=(const G4ProcessAttribute &right) const;
71 // equal / unequal operator
72
73
74 protected:
76 // pointer to G4VProcess
77
79 // flag for activation/inactivation
80
82 // index to a ProcessVector for theProcessList and
83
85 // index to ProcessVectors for "Doit"s and "GetPhysicalInteractionLength"s
86 // -1 : not applicable
87
89 // ordering parameter
90};
91
92inline
94 pProcess((G4VProcess*)aProcess),
95 isActive(true),
96 idxProcessList(-1)
97{
98 for(size_t ii=0; ii<G4ProcessManager::SizeOfProcVectorArray; ii++){
99 idxProcVector[ii]=-1;
100 ordProcVector[ii]=0;
101 }
102}
103
104inline
106{
107 return this->pProcess == right.pProcess;
108}
109
110inline
112{
113 return this->pProcess != right.pProcess;
114}
115
116#endif
117
118
119
120
121
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
G4int operator==(const G4ProcessAttribute &right) const
G4int ordProcVector[G4ProcessManager::SizeOfProcVectorArray]
G4int idxProcVector[G4ProcessManager::SizeOfProcVectorArray]
G4int operator!=(const G4ProcessAttribute &right) const
G4ProcessAttribute & operator=(const G4ProcessAttribute &right)