Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4HnManager Class Reference

#include <G4HnManager.hh>

Inheritance diagram for G4HnManager:
G4BaseAnalysisManager

Public Member Functions

 G4HnManager (const G4String &hnType, const G4AnalysisManagerState &state)
 
virtual ~G4HnManager ()
 
void AddH1Information (const G4String &name, const G4String &unitName, const G4String &fcnName, G4double unit, G4Fcn fx, G4BinScheme binScheme)
 
void AddH2Information (const G4String &name, const G4String &xunitName, const G4String &yunitName, const G4String &xfcnName, const G4String &yfcnName, G4double xunit, G4double yunit, G4Fcn fx, G4Fcn fy, G4BinScheme xBinScheme, G4BinScheme yBinScheme)
 
G4HnInformationGetHnInformation (G4int id, G4String functionName="", G4bool warn=true) const
 
const std::vector
< G4HnInformation * > & 
GetHnVector () const
 
G4int GetNofHns () const
 
G4String GetHnType () const
 
G4bool IsActive () const
 
G4bool IsAscii () const
 
void SetActivation (G4bool activation)
 
void SetActivation (G4int id, G4bool activation)
 
void SetAscii (G4int id, G4bool ascii)
 
G4String GetName (G4int id) const
 
G4double GetXUnit (G4int id) const
 
G4double GetYUnit (G4int id) const
 
G4bool GetActivation (G4int id) const
 
G4bool GetAscii (G4int id) const
 
- Public Member Functions inherited from G4BaseAnalysisManager
 G4BaseAnalysisManager (const G4AnalysisManagerState &state)
 
virtual ~G4BaseAnalysisManager ()
 
G4bool SetFirstId (G4int firstId)
 

Additional Inherited Members

- Protected Member Functions inherited from G4BaseAnalysisManager
void ExceptionForHistograms (const G4String &functionName) const
 
- Protected Attributes inherited from G4BaseAnalysisManager
const G4AnalysisManagerStatefState
 
G4int fFirstId
 
G4bool fLockFirstId
 

Detailed Description

Definition at line 43 of file G4HnManager.hh.

Constructor & Destructor Documentation

G4HnManager::G4HnManager ( const G4String hnType,
const G4AnalysisManagerState state 
)

Definition at line 33 of file G4HnManager.cc.

35  : G4BaseAnalysisManager(state),
36  fHnType(hnType),
37  fNofActiveObjects(0),
38  fNofAsciiObjects(0),
39  fHnVector()
40 {
41 }
G4BaseAnalysisManager(const G4AnalysisManagerState &state)
G4HnManager::~G4HnManager ( )
virtual

Definition at line 44 of file G4HnManager.cc.

45 {
46  std::vector<G4HnInformation*>::iterator it;
47  for (it = fHnVector.begin(); it != fHnVector.end(); it++ ) {
48  delete (*it);
49  }
50 }

Member Function Documentation

void G4HnManager::AddH1Information ( const G4String name,
const G4String unitName,
const G4String fcnName,
G4double  unit,
G4Fcn  fx,
G4BinScheme  binScheme 
)

Definition at line 57 of file G4HnManager.cc.

62 {
63  fHnVector.push_back(
64  new G4HnInformation(name, unitName, unitName, fcnName, fcnName,
65  unit, unit, fcn, fcn, binScheme, binScheme));
66  ++fNofActiveObjects;
67 }
void G4HnManager::AddH2Information ( const G4String name,
const G4String xunitName,
const G4String yunitName,
const G4String xfcnName,
const G4String yfcnName,
G4double  xunit,
G4double  yunit,
G4Fcn  fx,
G4Fcn  fy,
G4BinScheme  xBinScheme,
G4BinScheme  yBinScheme 
)

Definition at line 70 of file G4HnManager.cc.

78 {
79  fHnVector.push_back(
80  new G4HnInformation(name, xunitName, yunitName, xfcnName, yfcnName,
81  xunit, yunit, xfcn, yfcn, xBinScheme, yBinScheme));
82  ++fNofActiveObjects;
83 }
G4bool G4HnManager::GetActivation ( G4int  id) const

Definition at line 209 of file G4HnManager.cc.

References G4HnInformation::fActivation, and GetHnInformation().

Referenced by G4H1ToolsManager::FillH1(), and G4H2ToolsManager::FillH2().

210 {
211  G4HnInformation* info = GetHnInformation(id, "GetActivation");
212 
213  if ( ! info ) return true;
214 
215  return info->fActivation;
216 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4bool G4HnManager::GetAscii ( G4int  id) const

Definition at line 219 of file G4HnManager.cc.

References G4HnInformation::fAscii, and GetHnInformation().

220 {
221  G4HnInformation* info = GetHnInformation(id, "GetAscii");
222 
223  if ( ! info ) return false;
224 
225  return info->fAscii;
226 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4HnInformation * G4HnManager::GetHnInformation ( G4int  id,
G4String  functionName = "",
G4bool  warn = true 
) const

Definition at line 86 of file G4HnManager.cc.

References G4BaseAnalysisManager::fFirstId, G4Exception(), and JustWarning.

Referenced by G4H1ToolsManager::FillH1(), G4H2ToolsManager::FillH2(), GetActivation(), GetAscii(), G4H1ToolsManager::GetH1Width(), G4H1ToolsManager::GetH1Xmax(), G4H1ToolsManager::GetH1Xmin(), G4H2ToolsManager::GetH2Xmax(), G4H2ToolsManager::GetH2Xmin(), G4H2ToolsManager::GetH2XWidth(), G4H2ToolsManager::GetH2Ymax(), G4H2ToolsManager::GetH2Ymin(), G4H2ToolsManager::GetH2YWidth(), GetName(), GetXUnit(), GetYUnit(), SetActivation(), SetAscii(), G4H1ToolsManager::SetH1(), G4H2ToolsManager::SetH2(), and G4H1ToolsManager::WriteOnAscii().

88 {
89  G4int index = id - fFirstId;
90  if ( index < 0 || index >= G4int(fHnVector.size()) ) {
91  if ( warn ) {
92  G4String inFunction = "G4HnManager::";
93  if ( functionName.size() )
94  inFunction += functionName;
95  else
96  inFunction += "GetHnInformation";
97  G4ExceptionDescription description;
98  description << " " << fHnType << " histogram " << id
99  << " does not exist.";
100  G4Exception(inFunction, "Analysis_W007", JustWarning, description);
101  }
102  return 0;
103  }
104  return fHnVector[index];
105 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
int G4int
Definition: G4Types.hh:78
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4String G4HnManager::GetHnType ( ) const
inline

Definition at line 114 of file G4HnManager.hh.

115 { return fHnType; }
const std::vector< G4HnInformation * > & G4HnManager::GetHnVector ( ) const
inline

Definition at line 117 of file G4HnManager.hh.

Referenced by G4H2ToolsManager::GetHnVector(), and G4H1ToolsManager::GetHnVector().

118 { return fHnVector; }
G4String G4HnManager::GetName ( G4int  id) const

Definition at line 179 of file G4HnManager.cc.

References G4HnInformation::fName, and GetHnInformation().

180 {
181  G4HnInformation* info = GetHnInformation(id, "GetName");
182 
183  if ( ! info ) return "";
184 
185  return info->fName;
186 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4int G4HnManager::GetNofHns ( ) const
inline

Definition at line 111 of file G4HnManager.hh.

Referenced by G4VAnalysisManager::GetNofH1s(), and G4VAnalysisManager::GetNofH2s().

112 { return fHnVector.size(); }
G4double G4HnManager::GetXUnit ( G4int  id) const

Definition at line 189 of file G4HnManager.cc.

References G4HnInformation::fXUnit, and GetHnInformation().

190 {
191  G4HnInformation* info = GetHnInformation(id, "GetXUnit");
192 
193  if ( ! info ) return 1.0;
194 
195  return info->fXUnit;
196 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4double G4HnManager::GetYUnit ( G4int  id) const

Definition at line 199 of file G4HnManager.cc.

References G4HnInformation::fYUnit, and GetHnInformation().

200 {
201  G4HnInformation* info = GetHnInformation(id, "GetYUnit");
202 
203  if ( ! info ) return 1.0;
204 
205  return info->fYUnit;
206 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4bool G4HnManager::IsActive ( ) const

Definition at line 108 of file G4HnManager.cc.

Referenced by G4VAnalysisManager::IsActive().

109 {
110  return ( fNofActiveObjects > 0 );
111 }
G4bool G4HnManager::IsAscii ( ) const

Definition at line 114 of file G4HnManager.cc.

Referenced by G4VAnalysisManager::IsAscii().

115 {
116  return ( fNofAsciiObjects > 0 );
117 }
void G4HnManager::SetActivation ( G4bool  activation)

Definition at line 140 of file G4HnManager.cc.

References G4HnInformation::fActivation.

Referenced by G4H1ToolsManager::SetH1(), G4VAnalysisManager::SetH1Activation(), G4H2ToolsManager::SetH2(), G4VAnalysisManager::SetH2Activation(), and G4HnMessenger::SetNewValue().

141 {
142 // Set activation to all objects of the given type
143 
144  std::vector<G4HnInformation*>::iterator it;
145  for ( it = fHnVector.begin(); it != fHnVector.end(); it++ ) {
146  G4HnInformation* info = *it;
147 
148  // Do nothing if activation does not change
149  if ( info->fActivation == activation ) continue;
150 
151  // Change activation and account it in fNofActiveObjects
152  info->fActivation = activation;
153  if ( activation )
154  fNofActiveObjects++;
155  else
156  fNofActiveObjects--;
157  }
158 }
const XML_Char XML_Encoding * info
void G4HnManager::SetActivation ( G4int  id,
G4bool  activation 
)

Definition at line 120 of file G4HnManager.cc.

References G4HnInformation::fActivation, and GetHnInformation().

121 {
122 // Set activation to a given object
123 
124  G4HnInformation* info = GetHnInformation(id, "SetActivation");
125 
126  if ( ! info ) return;
127 
128  // Do nothing if activation does not change
129  if ( info->fActivation == activation ) return;
130 
131  // Change activation and account it in fNofActiveObjects
132  info->fActivation = activation;
133  if ( activation )
134  fNofActiveObjects++;
135  else
136  fNofActiveObjects--;
137 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
void G4HnManager::SetAscii ( G4int  id,
G4bool  ascii 
)

Definition at line 161 of file G4HnManager.cc.

References G4HnInformation::fAscii, and GetHnInformation().

Referenced by G4VAnalysisManager::SetH1Ascii(), G4VAnalysisManager::SetH2Ascii(), and G4HnMessenger::SetNewValue().

162 {
163  G4HnInformation* info = GetHnInformation(id, "SetAscii");
164 
165  if ( ! info ) return;
166 
167  // Do nothing if ascii does not change
168  if ( info->fAscii == ascii ) return;
169 
170  // Change ascii and account it in fNofAsciiObjects
171  info->fAscii = ascii;
172  if ( ascii )
173  fNofAsciiObjects++;
174  else
175  fNofAsciiObjects--;
176 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info

The documentation for this class was generated from the following files: