ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ProcessAttribute.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4ProcessAttribute.hh
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 //
28 //
29 // ------------------------------------------------------------
30 // GEANT 4 class header file
31 //
32 // History: first implementation, based on object model of
33 // 2nd December 1997, H.Kurashige
34 // ---------------- G4ProcessAttribute -----------------
35 // Class Description
36 // This class is used by G4ProcessManager ONLY for booking !!!
37 //
38 // History:
39 // adds copy constructor 27 June 1998 H.Kurashige
40 // ------------------------------------------------------------
41 
42 #ifndef G4ProcessAttribute_h
43 #define G4ProcessAttribute_h 1
44 
45 #include "globals.hh"
46 #include "G4ios.hh"
47 
48 #include "G4ProcessManager.hh"
49 
50 class G4VProcess;
51 
53 {
54  // this class is used by G4ProcessManager ONLY for booking !!!
55  friend class G4ProcessManager;
56  public:
58  G4ProcessAttribute(const G4VProcess* aProcess);
60  // Constructors
61 
63  // Destructor
64 
66  // Assignment operator
67 
70  // equal / unequal operator
71 
72 
73  protected:
75  // pointer to G4VProcess
76 
78  // flag for activation/inactivation
79 
81  // index to a ProcessVector for theProcessList and
82 
84  // index to ProcessVectors for "Doit"s and "GetPhysicalInteractionLength"s
85  // -1 : not applicable
86 
88  // ordering parameter
89 };
90 
91 inline
93  pProcess((G4VProcess*)aProcess),
94  isActive(true),
95  idxProcessList(-1)
96 {
97  for(size_t ii=0; ii<G4ProcessManager::SizeOfProcVectorArray; ii++){
98  idxProcVector[ii]=-1;
99  ordProcVector[ii]=0;
100  }
101 }
102 
103 inline
105 {
106  return this->pProcess == right.pProcess;
107 }
108 
109 inline
111 {
112  return this->pProcess != right.pProcess;
113 }
114 
115 #endif
116 
117 
118 
119 
120