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

#include <G4H2ToolsManager.hh>

Inheritance diagram for G4H2ToolsManager:
G4VH2Manager G4BaseAnalysisManager

Public Member Functions

 G4H2ToolsManager (const G4AnalysisManagerState &state)
 
virtual ~G4H2ToolsManager ()
 
void AddH2Vector (const std::vector< tools::histo::h2d * > &h2Vector)
 
G4bool Reset ()
 
G4bool IsEmpty () const
 
tools::histo::h2d * GetH2 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
const std::vector
< tools::histo::h2d * > & 
GetH2Vector () 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 CreateH2 (const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear")
 
virtual G4int CreateH2 (const G4String &name, const G4String &title, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
virtual G4bool SetH2 (G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear")
 
virtual G4bool SetH2 (G4int id, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none")
 
virtual G4bool ScaleH2 (G4int id, G4double factor)
 
virtual G4bool FillH2 (G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)
 
virtual G4int GetH2Id (const G4String &name, G4bool warn=true) const
 
virtual G4int GetH2Nxbins (G4int id) const
 
virtual G4double GetH2Xmin (G4int id) const
 
virtual G4double GetH2Xmax (G4int id) const
 
virtual G4double GetH2XWidth (G4int id) const
 
virtual G4int GetH2Nybins (G4int id) const
 
virtual G4double GetH2Ymin (G4int id) const
 
virtual G4double GetH2Ymax (G4int id) const
 
virtual G4double GetH2YWidth (G4int id) const
 
virtual G4bool SetH2Title (G4int id, const G4String &title)
 
virtual G4bool SetH2XAxisTitle (G4int id, const G4String &title)
 
virtual G4bool SetH2YAxisTitle (G4int id, const G4String &title)
 
virtual G4bool SetH2ZAxisTitle (G4int id, const G4String &title)
 
virtual G4String GetH2Title (G4int id) const
 
virtual G4String GetH2XAxisTitle (G4int id) const
 
virtual G4String GetH2YAxisTitle (G4int id) const
 
virtual G4String GetH2ZAxisTitle (G4int id) const
 
virtual G4bool WriteOnAscii (std::ofstream &output)
 
- Protected Member Functions inherited from G4VH2Manager
 G4VH2Manager (const G4AnalysisManagerState &state)
 
virtual ~G4VH2Manager ()
 
- Protected Member Functions inherited from G4BaseAnalysisManager
void ExceptionForHistograms (const G4String &functionName) const
 

Additional Inherited Members

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

Detailed Description

Definition at line 50 of file G4H2ToolsManager.hh.

Constructor & Destructor Documentation

G4H2ToolsManager::G4H2ToolsManager ( const G4AnalysisManagerState state)

Definition at line 42 of file G4H2ToolsManager.cc.

43  : G4VH2Manager(state),
44  fH2Vector(),
45  fH2NameIdMap()
46 {
47 }
G4VH2Manager(const G4AnalysisManagerState &state)
Definition: G4VH2Manager.cc:34
G4H2ToolsManager::~G4H2ToolsManager ( )
virtual

Definition at line 50 of file G4H2ToolsManager.cc.

51 {
52  std::vector<tools::histo::h2d*>::iterator it;
53  for (it = fH2Vector.begin(); it != fH2Vector.end(); it++ ) {
54  delete (*it);
55  }
56 }

Member Function Documentation

void G4H2ToolsManager::AddH2Vector ( const std::vector< tools::histo::h2d * > &  h2Vector)

Definition at line 708 of file G4H2ToolsManager.cc.

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

710 {
711 #ifdef G4VERBOSE
712  if ( fState.GetVerboseL4() )
713  fState.GetVerboseL4()->Message("merge", "all h2", "");
714 #endif
715  std::vector<tools::histo::h2d*>::const_iterator itw = h2Vector.begin();
716  std::vector<tools::histo::h2d*>::iterator it;
717  for (it = fH2Vector.begin(); it != fH2Vector.end(); it++ ) {
718  (*it)->add(*(*itw++));
719  }
720 #ifdef G4VERBOSE
721  if ( fState.GetVerboseL1() )
722  fState.GetVerboseL1()->Message("merge", "all h2", "");
723 #endif
724 }
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 G4H2ToolsManager::CreateH2 ( const G4String name,
const G4String title,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String xbinScheme = "linear",
const G4String ybinScheme = "linear" 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 294 of file G4H2ToolsManager.cc.

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

302 {
303 #ifdef G4VERBOSE
304  if ( fState.GetVerboseL4() )
305  fState.GetVerboseL4()->Message("create", "H2", name);
306 #endif
307  tools::histo::h2d* h2d
308  = CreateToolsH2(title, nxbins, xmin, xmax, nybins, ymin, ymax,
309  xfcnName, yfcnName, xbinSchemeName, ybinSchemeName);
310 
311  // Add annotation
312  AddH2Annotation(h2d, xunitName, yunitName, xfcnName, yfcnName);
313 
314  // Save H2 information
315  G4BinScheme xbinScheme = GetBinScheme(xbinSchemeName);
316  G4BinScheme ybinScheme = GetBinScheme(ybinSchemeName);
317  AddH2Information(
318  name, xunitName, yunitName, xfcnName, yfcnName, xbinScheme, ybinScheme);
319 
320  // Register histogram
321  G4int id = RegisterToolsH2(h2d, name);
322 
323 #ifdef G4VERBOSE
324  if ( fState.GetVerboseL2() )
325  fState.GetVerboseL2()->Message("create", "H2", name);
326 #endif
327 
328  return id;
329 }
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 G4H2ToolsManager::CreateH2 ( const G4String name,
const G4String title,
const std::vector< G4double > &  xedges,
const std::vector< G4double > &  yedges,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none" 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 332 of file G4H2ToolsManager.cc.

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

338 {
339 #ifdef G4VERBOSE
340  if ( fState.GetVerboseL4() )
341  fState.GetVerboseL4()->Message("create", "H2", name);
342 #endif
343  tools::histo::h2d* h2d
344  = CreateToolsH2(title, xedges, yedges, xfcnName, yfcnName);
345 
346  // Add annotation
347  AddH2Annotation(h2d, xunitName, yunitName, xfcnName, yfcnName);
348 
349  // Save H2 information
350  AddH2Information(
351  name, xunitName, yunitName, xfcnName, yfcnName, kUserBinScheme, kUserBinScheme);
352 
353  // Register histogram
354  G4int id = RegisterToolsH2(h2d, name);
355 
356 #ifdef G4VERBOSE
357  if ( fState.GetVerboseL2() )
358  fState.GetVerboseL2()->Message("create", "H2", name);
359 #endif
360 
361  return id;
362 }
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 G4H2ToolsManager::FillH2 ( G4int  id,
G4double  xvalue,
G4double  yvalue,
G4double  weight = 1.0 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 444 of file G4H2ToolsManager.cc.

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

447 {
448  tools::histo::h2d* h2d = GetH2InFunction(id, "FillH2", true, false);
449  if ( ! h2d ) return false;
450 
451  if ( fState.GetIsActivation() && ( ! fHnManager->GetActivation(id) ) ) {
452  return false;
453  }
454 
456  h2d->fill(info->fXFcn(xvalue/info->fXUnit),
457  info->fYFcn(yvalue/info->fYUnit), weight);
458 #ifdef G4VERBOSE
459  if ( fState.GetVerboseL4() ) {
460  G4ExceptionDescription description;
461  description << " id " << id
462  << " xvalue " << xvalue << " yvalue " << yvalue;
463  fState.GetVerboseL4()->Message("fill", "H2", description);
464  }
465 #endif
466  return true;
467 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4HnManager * fHnManager
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
const XML_Char XML_Encoding * info
const G4AnalysisManagerState & fState
tools::histo::h2d * G4H2ToolsManager::GetH2 ( G4int  id,
G4bool  warn = true,
G4bool  onlyIfActive = true 
) const

Definition at line 749 of file G4H2ToolsManager.cc.

751 {
752  return GetH2InFunction(id, "GetH2", warn, onlyIfActive);
753 }
G4int G4H2ToolsManager::GetH2Id ( const G4String name,
G4bool  warn = true 
) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 470 of file G4H2ToolsManager.cc.

References G4Exception(), and JustWarning.

471 {
472  std::map<G4String, G4int>::const_iterator it = fH2NameIdMap.find(name);
473  if ( it == fH2NameIdMap.end() ) {
474  if ( warn) {
475  G4String inFunction = "G4H2ToolsManager::GetH2Id";
476  G4ExceptionDescription description;
477  description << " " << "histogram " << name << " does not exist.";
478  G4Exception(inFunction, "Analysis_W007", JustWarning, description);
479  }
480  return -1;
481  }
482  return it->second;
483 }
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 G4H2ToolsManager::GetH2Nxbins ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 486 of file G4H2ToolsManager.cc.

487 {
488  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2NXbins");
489  if ( ! h2d ) return 0;
490 
491  return h2d->axis_x().bins();
492 }
G4int G4H2ToolsManager::GetH2Nybins ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 537 of file G4H2ToolsManager.cc.

538 {
539  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2NYbins");
540  if ( ! h2d ) return 0;
541 
542  return h2d->axis_y().bins();
543 }
G4String G4H2ToolsManager::GetH2Title ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 627 of file G4H2ToolsManager.cc.

628 {
629  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2Title");
630  if ( ! h2d ) return "";
631 
632  return h2d->title();
633 }
const std::vector< tools::histo::h2d * > & G4H2ToolsManager::GetH2Vector ( ) const
inline

Definition at line 176 of file G4H2ToolsManager.hh.

177 { return fH2Vector; }
G4String G4H2ToolsManager::GetH2XAxisTitle ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 636 of file G4H2ToolsManager.cc.

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

637 {
638  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2XAxisTitle");
639  if ( ! h2d ) return "";
640 
641  G4String title;
642  G4bool result = h2d->annotation(tools::histo::key_axis_x_title(), title);
643  if ( ! result ) {
644  G4ExceptionDescription description;
645  description << " Failed to get x_axis title for h2 id = " << id << ").";
646  G4Exception("G4H2ToolsManager::GetH2XAxisTitle",
647  "Analysis_W014", JustWarning, description);
648  return "";
649  }
650 
651  return title;
652 }
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 G4H2ToolsManager::GetH2Xmax ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 507 of file G4H2ToolsManager.cc.

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

508 {
509  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2Xmax");
510  if ( ! h2d ) return 0;
511 
512  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2Xmax");
513  return info->fXFcn(h2d->axis_x().upper_edge()*info->fXUnit);
514 }
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4double G4H2ToolsManager::GetH2Xmin ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 495 of file G4H2ToolsManager.cc.

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

496 {
497 // Returns xmin value with applied unit and histogram function
498 
499  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2Xmin");
500  if ( ! h2d ) return 0;
501 
502  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2Xmin");
503  return info->fXFcn(h2d->axis_x().lower_edge()*info->fXUnit);
504 }
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4double G4H2ToolsManager::GetH2XWidth ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 517 of file G4H2ToolsManager.cc.

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

518 {
519  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2XWidth", true, false);
520  if ( ! h2d ) return 0;
521 
522  G4int nbins = h2d->axis_x().bins();
523  if ( ! nbins ) {
524  G4ExceptionDescription description;
525  description << " nbins = 0 (for h2 id = " << id << ").";
526  G4Exception("G4H2ToolsManager::GetH2Width",
527  "Analysis_W014", JustWarning, description);
528  return 0;
529  }
530 
531  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2XWidth");
532  return ( info->fXFcn(h2d->axis_x().upper_edge())
533  - info->fXFcn(h2d->axis_x().lower_edge()))*info->fXUnit/nbins;
534 }
G4HnManager * fHnManager
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
const XML_Char XML_Encoding * info
G4String G4H2ToolsManager::GetH2YAxisTitle ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 655 of file G4H2ToolsManager.cc.

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

656 {
657  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2YAxisTitle");
658  if ( ! h2d ) return "";
659 
660  G4String title;
661  G4bool result = h2d->annotation(tools::histo::key_axis_y_title(), title);
662  if ( ! result ) {
663  G4ExceptionDescription description;
664  description << " Failed to get y_axis title for h2 id = " << id << ").";
665  G4Exception("G4H2ToolsManager::GetH2YAxisTitle",
666  "Analysis_W014", JustWarning, description);
667  return "";
668  }
669 
670  return title;
671 }
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 G4H2ToolsManager::GetH2Ymax ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 558 of file G4H2ToolsManager.cc.

References G4VH2Manager::fHnManager, G4HnInformation::fYFcn, G4HnInformation::fYUnit, and G4HnManager::GetHnInformation().

559 {
560  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2Ymax");
561  if ( ! h2d ) return 0;
562 
563  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2Ymax");
564  return info->fYFcn(h2d->axis_y().upper_edge()*info->fYUnit);
565 }
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4double G4H2ToolsManager::GetH2Ymin ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 546 of file G4H2ToolsManager.cc.

References G4VH2Manager::fHnManager, G4HnInformation::fYFcn, G4HnInformation::fYUnit, and G4HnManager::GetHnInformation().

547 {
548 // Returns xmin value with applied unit and histogram function
549 
550  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2Ymin");
551  if ( ! h2d ) return 0;
552 
553  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2Ymin");
554  return info->fYFcn(h2d->axis_y().lower_edge()*info->fYUnit);
555 }
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const XML_Char XML_Encoding * info
G4double G4H2ToolsManager::GetH2YWidth ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 568 of file G4H2ToolsManager.cc.

References G4VH2Manager::fHnManager, G4HnInformation::fYFcn, G4HnInformation::fYUnit, G4Exception(), G4HnManager::GetHnInformation(), and JustWarning.

569 {
570  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2YWidth", true, false);
571  if ( ! h2d ) return 0;
572 
573  G4int nbins = h2d->axis_y().bins();
574  if ( ! nbins ) {
575  G4ExceptionDescription description;
576  description << " nbins = 0 (for h2 id = " << id << ").";
577  G4Exception("G4H2ToolsManager::GetH2Width",
578  "Analysis_W014", JustWarning, description);
579  return 0;
580  }
581 
582  G4HnInformation* info = fHnManager->GetHnInformation(id, "GetH2YWidth");
583  return ( info->fYFcn(h2d->axis_y().upper_edge())
584  - info->fYFcn(h2d->axis_y().lower_edge()))*info->fYUnit/nbins;
585 }
G4HnManager * fHnManager
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
const XML_Char XML_Encoding * info
G4String G4H2ToolsManager::GetH2ZAxisTitle ( G4int  id) const
protectedvirtual

Implements G4VH2Manager.

Definition at line 674 of file G4H2ToolsManager.cc.

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

675 {
676  tools::histo::h2d* h2d = GetH2InFunction(id, "GetH2ZAxisTitle");
677  if ( ! h2d ) return "";
678 
679  G4String title;
680  G4bool result = h2d->annotation(tools::histo::key_axis_z_title(), title);
681  if ( ! result ) {
682  G4ExceptionDescription description;
683  description << " Failed to get z_axis title for h2 id = " << id << ").";
684  G4Exception("G4H2ToolsManager::GetH2ZAxisTitle",
685  "Analysis_W014", JustWarning, description);
686  return "";
687  }
688 
689  return title;
690 }
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 * > & G4H2ToolsManager::GetHnVector ( ) const
inline

Definition at line 179 of file G4H2ToolsManager.hh.

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

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

Definition at line 727 of file G4H2ToolsManager.cc.

728 {
729 // Reset histograms and ntuple
730 
731  G4bool finalResult = true;
732 
733  std::vector<tools::histo::h2d*>::iterator it;
734  for (it = fH2Vector.begin(); it != fH2Vector.end(); it++ ) {
735  G4bool result = (*it)->reset();
736  if ( ! result ) finalResult = false;
737  }
738 
739  return finalResult;
740 }
bool G4bool
Definition: G4Types.hh:79
G4bool G4H2ToolsManager::ScaleH2 ( G4int  id,
G4double  factor 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 435 of file G4H2ToolsManager.cc.

436 {
437  tools::histo::h2d* h2d = GetH2InFunction(id, "ScaleH2", false, false);
438  if ( ! h2d ) return false;
439 
440  return h2d->scale(factor);
441 }
G4bool G4H2ToolsManager::SetH2 ( G4int  id,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String xbinScheme = "linear",
const G4String ybinScheme = "linear" 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 365 of file G4H2ToolsManager.cc.

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

372 {
373  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2", false, false);
374  if ( ! h2d ) return false;
375 
377 #ifdef G4VERBOSE
378  if ( fState.GetVerboseL4() )
379  fState.GetVerboseL4()->Message("configure", "H2", info->fName);
380 #endif
381 
382  // Configure tools h2
383  ConfigureToolsH2(
384  h2d, nxbins, xmin, xmax, nybins, ymin, ymax, xfcnName, yfcnName,
385  xbinSchemeName, xbinSchemeName);
386 
387  // Add annotation
388  AddH2Annotation(h2d, xunitName, yunitName, xfcnName, yfcnName);
389 
390  // Update information
391  G4BinScheme xbinScheme = GetBinScheme(xbinSchemeName);
392  G4BinScheme ybinScheme = GetBinScheme(ybinSchemeName);
393  UpdateH2Information(
394  info, xunitName, yunitName, xfcnName, yfcnName, xbinScheme, ybinScheme);
395 
396  // Set activation
397  fHnManager->SetActivation(id, true);
398 
399  return true;
400 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const G4AnalysisVerbose * GetVerboseL4() const
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 G4H2ToolsManager::SetH2 ( G4int  id,
const std::vector< G4double > &  xedges,
const std::vector< G4double > &  yedges,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none" 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 403 of file G4H2ToolsManager.cc.

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

408 {
409  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2", false, false);
410  if ( ! h2d ) return false;
411 
413 #ifdef G4VERBOSE
414  if ( fState.GetVerboseL4() )
415  fState.GetVerboseL4()->Message("configure", "H2", info->fName);
416 #endif
417 
418  // Configure tools h2
419  ConfigureToolsH2(h2d, xedges, yedges, xfcnName, yfcnName);
420 
421  // Add annotation
422  AddH2Annotation(h2d, xunitName, yunitName, xfcnName, yfcnName);
423 
424  // Update information
425  UpdateH2Information(
426  info, xunitName, yunitName, xfcnName, yfcnName, kUserBinScheme, kUserBinScheme);
427 
428  // Set activation
429  fHnManager->SetActivation(id, true);
430 
431  return true;
432 }
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4HnManager * fHnManager
G4HnInformation * GetHnInformation(G4int id, G4String functionName="", G4bool warn=true) const
Definition: G4HnManager.cc:86
const G4AnalysisVerbose * GetVerboseL4() const
const XML_Char XML_Encoding * info
void SetActivation(G4bool activation)
Definition: G4HnManager.cc:140
const G4AnalysisManagerState & fState
G4bool G4H2ToolsManager::SetH2Title ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 588 of file G4H2ToolsManager.cc.

589 {
590  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2Title");
591  if ( ! h2d ) return false;
592 
593  return h2d->set_title(title);
594 }
G4bool G4H2ToolsManager::SetH2XAxisTitle ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 597 of file G4H2ToolsManager.cc.

598 {
599  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2XAxisTitle");
600  if ( ! h2d ) return false;
601 
602  h2d->add_annotation(tools::histo::key_axis_x_title(), title);
603  return true;
604 }
G4bool G4H2ToolsManager::SetH2YAxisTitle ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 607 of file G4H2ToolsManager.cc.

608 {
609  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2YAxisTitle");
610  if ( ! h2d ) return false;
611 
612  h2d->add_annotation(tools::histo::key_axis_x_title(), title);
613  return true;
614 }
G4bool G4H2ToolsManager::SetH2ZAxisTitle ( G4int  id,
const G4String title 
)
protectedvirtual

Implements G4VH2Manager.

Definition at line 617 of file G4H2ToolsManager.cc.

618 {
619  tools::histo::h2d* h2d = GetH2InFunction(id, "SetH2ZAxisTitle");
620  if ( ! h2d ) return false;
621 
622  h2d->add_annotation(tools::histo::key_axis_z_title(), title);
623  return true;
624 }
G4bool G4H2ToolsManager::WriteOnAscii ( std::ofstream &  output)
protectedvirtual

Implements G4VH2Manager.

Definition at line 693 of file G4H2ToolsManager.cc.

694 {
695 // Write selected objects on ASCII file
696 // According to the implementation by Michel Maire, originally in
697 // extended examples.
698 // Not yet available for H2
699 
700  return false;
701 }

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