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

#include <G4H1ToolsManager.hh>

Inheritance diagram for G4H1ToolsManager:
G4VH1Manager G4BaseAnalysisManager

Public Member Functions

 G4H1ToolsManager (const G4AnalysisManagerState &state)
 
virtual ~G4H1ToolsManager ()
 
void AddH1Vector (const std::vector< tools::histo::h1d * > &h1Vector)
 
G4bool Reset ()
 
G4bool IsEmpty () const
 
tools::histo::h1d * GetH1 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
const std::vector
< tools::histo::h1d * > & 
GetH1Vector () const
 
const std::vector
< G4HnInformation * > & 
GetHnVector () const
 
- Public Member Functions inherited from G4BaseAnalysisManager
 G4BaseAnalysisManager (const G4AnalysisManagerState &state)
 
virtual ~G4BaseAnalysisManager ()
 
G4bool SetFirstId (G4int firstId)
 

Protected Member Functions

virtual G4int CreateH1 (const G4String &name, const G4String &title, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none", const G4String &binScheme="linear")
 
virtual G4int CreateH1 (const G4String &name, const G4String &title, const std::vector< G4double > &edges, const G4String &unitName="none", const G4String &fcnName="none")
 
virtual G4bool SetH1 (G4int id, G4int nbins, G4double xmin, G4double xmax, const G4String &unitName="none", const G4String &fcnName="none", const G4String &binSchemeName="linear")
 
virtual G4bool SetH1 (G4int id, const std::vector< G4double > &edges, const G4String &unitName="none", const G4String &fcnName="none")
 
virtual G4bool ScaleH1 (G4int id, G4double factor)
 
virtual G4bool FillH1 (G4int id, G4double value, G4double weight=1.0)
 
virtual G4int GetH1Id (const G4String &name, G4bool warn=true) const
 
virtual G4int GetH1Nbins (G4int id) const
 
virtual G4double GetH1Xmin (G4int id) const
 
virtual G4double GetH1Xmax (G4int id) const
 
virtual G4double GetH1Width (G4int id) const
 
virtual G4bool SetH1Title (G4int id, const G4String &title)
 
virtual G4bool SetH1XAxisTitle (G4int id, const G4String &title)
 
virtual G4bool SetH1YAxisTitle (G4int id, const G4String &title)
 
virtual G4String GetH1Title (G4int id) const
 
virtual G4String GetH1XAxisTitle (G4int id) const
 
virtual G4String GetH1YAxisTitle (G4int id) const
 
virtual G4bool WriteOnAscii (std::ofstream &output)
 
- Protected Member Functions inherited from G4VH1Manager
 G4VH1Manager (const G4AnalysisManagerState &state)
 
virtual ~G4VH1Manager ()
 
- Protected Member Functions inherited from G4BaseAnalysisManager
void ExceptionForHistograms (const G4String &functionName) const
 

Additional Inherited Members

- Protected Attributes inherited from G4VH1Manager
G4HnManagerfHnManager
 
- Protected Attributes inherited from G4BaseAnalysisManager
const G4AnalysisManagerStatefState
 
G4int fFirstId
 
G4bool fLockFirstId
 

Detailed Description

Definition at line 51 of file G4H1ToolsManager.hh.

Constructor & Destructor Documentation

G4H1ToolsManager::G4H1ToolsManager ( const G4AnalysisManagerState state)

Definition at line 46 of file G4H1ToolsManager.cc.

47  : G4VH1Manager(state),
48  fH1Vector(),
49  fH1NameIdMap()
50 {
51 }
G4VH1Manager(const G4AnalysisManagerState &state)
Definition: G4VH1Manager.cc:34
G4H1ToolsManager::~G4H1ToolsManager ( )
virtual

Definition at line 54 of file G4H1ToolsManager.cc.

55 {
56  std::vector<tools::histo::h1d*>::iterator it;
57  for (it = fH1Vector.begin(); it != fH1Vector.end(); it++ ) {
58  delete (*it);
59  }
60 }

Member Function Documentation

void G4H1ToolsManager::AddH1Vector ( const std::vector< tools::histo::h1d * > &  h1Vector)

Definition at line 577 of file G4H1ToolsManager.cc.

References G4BaseAnalysisManager::fState, G4AnalysisManagerState::GetVerboseL1(), G4AnalysisManagerState::GetVerboseL4(), and G4AnalysisVerbose::Message().

579 {
580 #ifdef G4VERBOSE
581  if ( fState.GetVerboseL4() )
582  fState.GetVerboseL4()->Message("merge", "all h1", "");
583 #endif
584  std::vector<tools::histo::h1d*>::const_iterator itw = h1Vector.begin();
585  std::vector<tools::histo::h1d*>::iterator it;
586  for (it = fH1Vector.begin(); it != fH1Vector.end(); it++ ) {
587  (*it)->add(*(*itw++));
588  }
589 #ifdef G4VERBOSE
590  if ( fState.GetVerboseL1() )
591  fState.GetVerboseL1()->Message("merge", "all h1", "");
592 #endif
593 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
const G4AnalysisVerbose * GetVerboseL4() const
const G4AnalysisVerbose * GetVerboseL1() const
const G4AnalysisManagerState & fState
G4int G4H1ToolsManager::CreateH1 ( const G4String name,
const G4String title,
G4int  nbins,
G4double  xmin,
G4double  xmax,
const G4String unitName = "none",
const G4String fcnName = "none",
const G4String binScheme = "linear" 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 244 of file G4H1ToolsManager.cc.

References G4BaseAnalysisManager::fState, G4Analysis::GetBinScheme(), G4AnalysisManagerState::GetVerboseL2(), G4AnalysisManagerState::GetVerboseL4(), and G4AnalysisVerbose::Message().

248 {
249 #ifdef G4VERBOSE
250  if ( fState.GetVerboseL4() )
251  fState.GetVerboseL4()->Message("create", "H1", name);
252 #endif
253  tools::histo::h1d* h1d
254  = CreateToolsH1(title, nbins, xmin, xmax, fcnName, binSchemeName);
255 
256  // Add annotation
257  AddH1Annotation(h1d, unitName, fcnName);
258 
259  // Save H1 information
260  G4BinScheme binScheme = GetBinScheme(binSchemeName);
261  AddH1Information(name, unitName, fcnName, binScheme);
262 
263  // Register histogram
264  G4int id = RegisterToolsH1(h1d, name);
265 
266 #ifdef G4VERBOSE
267  if ( fState.GetVerboseL2() )
268  fState.GetVerboseL2()->Message("create", "H1", name);
269 #endif
270  return id;
271 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
int G4int
Definition: G4Types.hh:78
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisVerbose * GetVerboseL4() const
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:36
G4BinScheme
Definition: G4BinScheme.hh:40
const G4AnalysisManagerState & fState
G4int G4H1ToolsManager::CreateH1 ( const G4String name,
const G4String title,
const std::vector< G4double > &  edges,
const G4String unitName = "none",
const G4String fcnName = "none" 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 274 of file G4H1ToolsManager.cc.

References G4BaseAnalysisManager::fState, G4AnalysisManagerState::GetVerboseL2(), G4AnalysisManagerState::GetVerboseL4(), kUserBinScheme, and G4AnalysisVerbose::Message().

277 {
278 #ifdef G4VERBOSE
279  if ( fState.GetVerboseL4() )
280  fState.GetVerboseL4()->Message("create", "H1", name);
281 #endif
282  tools::histo::h1d* h1d
283  = CreateToolsH1(title, edges, fcnName);
284 
285  // Add annotation
286  AddH1Annotation(h1d, unitName, fcnName);
287 
288  // Save H1 information
289  AddH1Information(name, unitName, fcnName, kUserBinScheme);
290 
291  // Register histogram
292  G4int id = RegisterToolsH1(h1d, name);
293 
294 #ifdef G4VERBOSE
295  if ( fState.GetVerboseL2() )
296  fState.GetVerboseL2()->Message("create", "H1", name);
297 #endif
298  return id;
299 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
int G4int
Definition: G4Types.hh:78
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisVerbose * GetVerboseL4() const
const G4AnalysisManagerState & fState
G4bool G4H1ToolsManager::FillH1 ( G4int  id,
G4double  value,
G4double  weight = 1.0 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 373 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4BaseAnalysisManager::fState, G4HnInformation::fXFcn, G4HnInformation::fXUnit, G4HnManager::GetActivation(), G4HnManager::GetHnInformation(), G4AnalysisManagerState::GetIsActivation(), G4AnalysisManagerState::GetVerboseL4(), and G4AnalysisVerbose::Message().

374 {
375  tools::histo::h1d* h1d = GetH1InFunction(id, "FillH1", true, false);
376  if ( ! h1d ) return false;
377 
378  if ( fState.GetIsActivation() && ( ! fHnManager->GetActivation(id) ) ) {
379  //G4cout << "Skipping FillH1 for " << id << G4endl;
380  return false;
381  }
382 
384  h1d->fill(info->fXFcn(value/info->fXUnit), weight);
385 #ifdef G4VERBOSE
386  if ( fState.GetVerboseL4() ) {
387  G4ExceptionDescription description;
388  description << " id " << id << " value " << value;
389  fState.GetVerboseL4()->Message("fill", "H1", description);
390  }
391 #endif
392  return true;
393 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
G4bool GetActivation(G4int id) const
Definition: G4HnManager.cc:209
const G4AnalysisVerbose * GetVerboseL4() const
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
const XML_Char int const XML_Char * value
const G4AnalysisManagerState & fState
tools::histo::h1d * G4H1ToolsManager::GetH1 ( G4int  id,
G4bool  warn = true,
G4bool  onlyIfActive = true 
) const

Definition at line 618 of file G4H1ToolsManager.cc.

620 {
621  return GetH1InFunction(id, "GetH1", warn, onlyIfActive);
622 }
G4int G4H1ToolsManager::GetH1Id ( const G4String name,
G4bool  warn = true 
) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 396 of file G4H1ToolsManager.cc.

References G4Exception(), and JustWarning.

397 {
398  std::map<G4String, G4int>::const_iterator it = fH1NameIdMap.find(name);
399  if ( it == fH1NameIdMap.end() ) {
400  if ( warn) {
401  G4String inFunction = "G4H1ToolsManager::GetH1Id";
402  G4ExceptionDescription description;
403  description << " " << "histogram " << name << " does not exist.";
404  G4Exception(inFunction, "Analysis_W007", JustWarning, description);
405  }
406  return -1;
407  }
408  return it->second;
409 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int G4H1ToolsManager::GetH1Nbins ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 412 of file G4H1ToolsManager.cc.

413 {
414  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1Nbins");
415  if ( ! h1d ) return 0;
416 
417  return h1d->axis().bins();
418 }
G4String G4H1ToolsManager::GetH1Title ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 492 of file G4H1ToolsManager.cc.

493 {
494  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1Title");
495  if ( ! h1d ) return "";
496 
497  return h1d->title();
498 }
const std::vector< tools::histo::h1d * > & G4H1ToolsManager::GetH1Vector ( ) const
inline

Definition at line 153 of file G4H1ToolsManager.hh.

154 { return fH1Vector; }
G4double G4H1ToolsManager::GetH1Width ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 443 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4HnInformation::fXFcn, G4HnInformation::fXUnit, G4Exception(), G4HnManager::GetHnInformation(), and JustWarning.

444 {
445  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1XWidth", true, false);
446  if ( ! h1d ) return 0;
447 
448  G4int nbins = h1d->axis().bins();
449  if ( ! nbins ) {
450  G4ExceptionDescription description;
451  description << " nbins = 0 (for h1 id = " << id << ").";
452  G4Exception("G4H1ToolsManager::GetH1Width",
453  "Analysis_W014", JustWarning, description);
454  return 0;
455  }
456 
457  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH1XWidth");
458  return ( info->fXFcn(h1d->axis().upper_edge())
459  - info->fXFcn(h1d->axis().lower_edge()))*info->fXUnit/nbins;
460 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
int G4int
Definition: G4Types.hh:78
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
G4String G4H1ToolsManager::GetH1XAxisTitle ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 502 of file G4H1ToolsManager.cc.

References G4Exception(), JustWarning, and title().

503 {
504  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1XAxisTitle");
505  if ( ! h1d ) return "";
506 
507  G4String title;
508  G4bool result = h1d->annotation(tools::histo::key_axis_x_title(), title);
509  if ( ! result ) {
510  G4ExceptionDescription description;
511  description << " Failed to get x_axis title for h1 id = " << id << ").";
512  G4Exception("G4H1ToolsManager::GetH1XAxisTitle",
513  "Analysis_W014", JustWarning, description);
514  return "";
515  }
516 
517  return title;
518 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
bool G4bool
Definition: G4Types.hh:79
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
subroutine title(NA, NB, NCA, NCB)
Definition: dpm25nuc7.f:1744
G4double G4H1ToolsManager::GetH1Xmax ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 433 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4HnInformation::fXFcn, G4HnInformation::fXUnit, and G4HnManager::GetHnInformation().

434 {
435  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1Xmax");
436  if ( ! h1d ) return 0;
437 
438  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH1Xmax");
439  return info->fXFcn(h1d->axis().upper_edge()*info->fXUnit);
440 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
G4double G4H1ToolsManager::GetH1Xmin ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 421 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4HnInformation::fXFcn, G4HnInformation::fXUnit, and G4HnManager::GetHnInformation().

422 {
423 // Returns xmin value with applied unit and histogram function
424 
425  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1Xmin");
426  if ( ! h1d ) return 0;
427 
428  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH1Xmin");
429  return info->fXFcn(h1d->axis().lower_edge()*info->fXUnit);
430 }
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
G4String G4H1ToolsManager::GetH1YAxisTitle ( G4int  id) const
protectedvirtual

Implements G4VH1Manager.

Definition at line 521 of file G4H1ToolsManager.cc.

References G4Exception(), JustWarning, and title().

522 {
523  tools::histo::h1d* h1d = GetH1InFunction(id, "GetH1YAxisTitle");
524  if ( ! h1d ) return "";
525 
526  G4String title;
527  G4bool result = h1d->annotation(tools::histo::key_axis_y_title(), title);
528  if ( ! result ) {
529  G4ExceptionDescription description;
530  description << " Failed to get y_axis title for h1 id = " << id << ").";
531  G4Exception("G4H1ToolsManager::GetH1YAxisTitle",
532  "Analysis_W014", JustWarning, description);
533  return "";
534  }
535 
536  return title;
537 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
bool G4bool
Definition: G4Types.hh:79
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
subroutine title(NA, NB, NCA, NCB)
Definition: dpm25nuc7.f:1744
const std::vector< G4HnInformation * > & G4H1ToolsManager::GetHnVector ( ) const
inline

Definition at line 156 of file G4H1ToolsManager.hh.

References G4VH1Manager::fHnManager, and G4HnManager::GetHnVector().

157 { return fHnManager->GetHnVector(); }
G4HnManager * fHnManager
const std::vector< G4HnInformation * > & GetHnVector() const
Definition: G4HnManager.hh:117
G4bool G4H1ToolsManager::IsEmpty ( ) const
G4bool G4H1ToolsManager::Reset ( )

Definition at line 596 of file G4H1ToolsManager.cc.

597 {
598 // Reset histograms and ntuple
599 
600  G4bool finalResult = true;
601 
602  std::vector<tools::histo::h1d*>::iterator it;
603  for (it = fH1Vector.begin(); it != fH1Vector.end(); it++ ) {
604  G4bool result = (*it)->reset();
605  if ( ! result ) finalResult = false;
606  }
607 
608  return finalResult;
609 }
bool G4bool
Definition: G4Types.hh:79
G4bool G4H1ToolsManager::ScaleH1 ( G4int  id,
G4double  factor 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 364 of file G4H1ToolsManager.cc.

365 {
366  tools::histo::h1d* h1d = GetH1InFunction(id, "ScaleH1", false, false);
367  if ( ! h1d ) return false;
368 
369  return h1d->scale(factor);
370 }
G4bool G4H1ToolsManager::SetH1 ( G4int  id,
G4int  nbins,
G4double  xmin,
G4double  xmax,
const G4String unitName = "none",
const G4String fcnName = "none",
const G4String binSchemeName = "linear" 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 302 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4HnInformation::fName, G4BaseAnalysisManager::fState, G4Analysis::GetBinScheme(), G4HnManager::GetHnInformation(), G4AnalysisManagerState::GetVerboseL4(), G4AnalysisVerbose::Message(), and G4HnManager::SetActivation().

306 {
307  tools::histo::h1d* h1d = GetH1InFunction(id, "SetH1", false, false);
308  if ( ! h1d ) return false;
309 
311 #ifdef G4VERBOSE
312  if ( fState.GetVerboseL4() )
313  fState.GetVerboseL4()->Message("configure", "H1", info->fName);
314 #endif
315 
316  // Configure tools h1
317  ConfigureToolsH1(h1d, nbins, xmin, xmax, fcnName, binSchemeName);
318 
319  // Add annotation
320  AddH1Annotation(h1d, unitName, fcnName);
321 
322  // Update information
323  G4BinScheme binScheme = GetBinScheme(binSchemeName);
324  UpdateH1Information(info, unitName, fcnName, binScheme);
325 
326  // Set activation
327  fHnManager->SetActivation(id, true);
328 
329  return true;
330 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const G4AnalysisVerbose * GetVerboseL4() const
G4HnManager * fHnManager
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:36
const XML_Char XML_Encoding * info
G4BinScheme
Definition: G4BinScheme.hh:40
void SetActivation(G4bool activation)
Definition: G4HnManager.cc:140
const G4AnalysisManagerState & fState
G4bool G4H1ToolsManager::SetH1 ( G4int  id,
const std::vector< G4double > &  edges,
const G4String unitName = "none",
const G4String fcnName = "none" 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 333 of file G4H1ToolsManager.cc.

References G4VH1Manager::fHnManager, G4HnInformation::fName, G4BaseAnalysisManager::fState, G4HnManager::GetHnInformation(), G4AnalysisManagerState::GetVerboseL4(), kUserBinScheme, G4AnalysisVerbose::Message(), and G4HnManager::SetActivation().

337 {
338  tools::histo::h1d* h1d = GetH1InFunction(id, "SetH1", false, false);
339  if ( ! h1d ) return false;
340 
342 #ifdef G4VERBOSE
343  if ( fState.GetVerboseL4() )
344  fState.GetVerboseL4()->Message("configure", "H1", info->fName);
345 #endif
346 
347  // Configure tools h1
348  ConfigureToolsH1(h1d, edges, fcnName);
349 
350  // Add annotation
351  AddH1Annotation(h1d, unitName, fcnName);
352 
353  // Update information
354  UpdateH1Information(info, unitName, fcnName, kUserBinScheme);
355 
356  // Set activation
357  fHnManager->SetActivation(id, true);
358 
359  return true;
360 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const G4AnalysisVerbose * GetVerboseL4() const
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
void SetActivation(G4bool activation)
Definition: G4HnManager.cc:140
const G4AnalysisManagerState & fState
G4bool G4H1ToolsManager::SetH1Title ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 463 of file G4H1ToolsManager.cc.

464 {
465  tools::histo::h1d* h1d = GetH1InFunction(id, "SetH1Title");
466  if ( ! h1d ) return false;
467 
468  return h1d->set_title(title);
469 }
G4bool G4H1ToolsManager::SetH1XAxisTitle ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 472 of file G4H1ToolsManager.cc.

473 {
474  tools::histo::h1d* h1d = GetH1InFunction(id, "SetH1XAxisTitle");
475  if ( ! h1d ) return false;
476 
477  h1d->add_annotation(tools::histo::key_axis_x_title(), title);
478  return true;
479 }
G4bool G4H1ToolsManager::SetH1YAxisTitle ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH1Manager.

Definition at line 482 of file G4H1ToolsManager.cc.

483 {
484  tools::histo::h1d* h1d = GetH1InFunction(id, "SetH1YAxisTitle");
485  if ( ! h1d ) return false;
486 
487  h1d->add_annotation(tools::histo::key_axis_y_title(), title);
488  return true;
489 }
G4bool G4H1ToolsManager::WriteOnAscii ( std::ofstream &  output)
protectedvirtual

Implements G4VH1Manager.

Definition at line 540 of file G4H1ToolsManager.cc.

References G4HnInformation::fAscii, G4BaseAnalysisManager::fFirstId, G4VH1Manager::fHnManager, G4HnInformation::fName, G4BaseAnalysisManager::fState, G4endl, G4HnManager::GetHnInformation(), G4AnalysisManagerState::GetVerboseL3(), and G4AnalysisVerbose::Message().

541 {
542 // Write selected objects on ASCII file
543 // According to the implementation by Michel Maire, originally in
544 // extended examples.
545 
546  // h1 histograms
547  for ( G4int i=0; i<G4int(fH1Vector.size()); ++i ) {
548  G4int id = i + fFirstId;
549  G4HnInformation* info = fHnManager->GetHnInformation(id,"WriteOnAscii");
550  // skip writing if activation is enabled and H1 is inactivated
551  if ( ! info->fAscii ) continue;
552  tools::histo::h1d* h1 = fH1Vector[i];
553 
554 #ifdef G4VERBOSE
555  if ( fState.GetVerboseL3() )
556  fState.GetVerboseL3()->Message("write on ascii", "h1d", info->fName);
557 #endif
558 
559  output << "\n 1D histogram " << id << ": " << h1->title()
560  << "\n \n \t X \t\t Y" << G4endl;
561 
562  for (G4int j=0; j< G4int(h1->axis().bins()); ++j) {
563  output << " " << j << "\t"
564  << h1->axis().bin_center(j) << "\t"
565  << h1->bin_height(j) << G4endl;
566  }
567  }
568 
569  return true;
570 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
int G4int
Definition: G4Types.hh:78
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const G4AnalysisVerbose * GetVerboseL3() const
G4HnManager * fHnManager
const XML_Char XML_Encoding * info
#define G4endl
Definition: G4ios.hh:61
const G4AnalysisManagerState & fState

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