ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4AnalysisManagerState.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4AnalysisManagerState.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 // The state of the analysis manager instance.
28 //
29 // Author: Ivana Hrivnacova, 09/07/2013 (ivana@ipno.in2p3.fr)
30 
31 #ifndef G4AnalysisManagerState_h
32 #define G4AnalysisManagerState_h 1
33 
34 #include "globals.hh"
35 #include "G4AnalysisVerbose.hh"
36 #include "G4Threading.hh"
37 
39 {
40  // Only G4VAnalysisManager can change the state
41  friend class G4VAnalysisManager;
42  friend class G4VAnalysisReader;
43  friend class G4ParameterManager;
44 
45  public:
46  G4AnalysisManagerState(const G4String& type, G4bool isMaster);
47 
48  // get methods
49  G4String GetType() const;
50  G4bool GetIsMaster() const;
51  G4bool GetIsActivation() const;
52  G4int GetVerboseLevel() const;
53  const G4AnalysisVerbose* GetVerboseL1() const;
54  const G4AnalysisVerbose* GetVerboseL2() const;
55  const G4AnalysisVerbose* GetVerboseL3() const;
56  const G4AnalysisVerbose* GetVerboseL4() const;
57  G4int GetCompressionLevel() const;
58 
59  private:
60  // disabled constructors, operators
64 
65  // set methods
66  // (hidden from all clients except for G4VAnalysisManager friend)
67  void SetIsActivation(G4bool isActivation);
68  void SetVerboseLevel(G4int verboseLevel);
69  void SetCompressionLevel(G4int level);
70 
71  // data members
85 };
86 
87 // inline functions
88 
90 { fIsActivation = isActivation; }
91 
93 { fCompressionLevel = level; }
94 
96 { return fType; }
97 
99 { return fIsMaster; }
100 
102 { return fIsActivation; }
103 
105 { return fVerboseLevel; }
106 
108 { return fpVerboseL1; }
109 
111 { return fpVerboseL2; }
112 
114 { return fpVerboseL3; }
115 
117 { return fpVerboseL4; }
118 
120 { return fCompressionLevel; }
121 
122 #endif
123