Geant4  10.02.p03
G4P2ToolsManager Class Reference

#include <G4P2ToolsManager.hh>

Inheritance diagram for G4P2ToolsManager:
Collaboration diagram for G4P2ToolsManager:

Public Member Functions

 G4P2ToolsManager (const G4AnalysisManagerState &state)
 
virtual ~G4P2ToolsManager ()
 
G4int AddP2 (const G4String &name, tools::histo::p2d *p2d)
 
void AddP2Vector (const std::vector< tools::histo::p2d *> &p2Vector)
 
tools::histo::p2d * GetP2 (G4int id, G4bool warn=true, G4bool onlyIfActive=true) const
 
std::vector< tools::histo::p2d * >::iterator BeginP2 ()
 
std::vector< tools::histo::p2d * >::iterator EndP2 ()
 
std::vector< tools::histo::p2d * >::const_iterator BeginConstP2 () const
 
std::vector< tools::histo::p2d * >::const_iterator EndConstP2 () const
 
const std::vector< tools::histo::p2d * > & GetP2Vector () const
 
const std::vector< G4HnInformation * > & GetHnVector () const
 
- Public Member Functions inherited from G4VP2Manager
 G4VP2Manager ()
 
virtual ~G4VP2Manager ()
 
 G4VP2Manager (const G4VP2Manager &rhs)=delete
 
G4VP2Manageroperator= (const G4VP2Manager &rhs)=delete
 
- Public Member Functions inherited from G4THnManager< tools::histo::p2d >
 G4THnManager (const G4AnalysisManagerState &state, const G4String &hnType)
 
virtual ~G4THnManager ()
 
G4bool Reset ()
 
G4bool IsEmpty () const
 

Protected Member Functions

virtual G4int CreateP2 (const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear") final
 
virtual G4int CreateP2 (const G4String &name, const G4String &title, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none") final
 
virtual G4bool SetP2 (G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear") final
 
virtual G4bool SetP2 (G4int id, const std::vector< G4double > &xedges, const std::vector< G4double > &yedges, G4double zmin=0, G4double zmax=0, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none") final
 
virtual G4bool ScaleP2 (G4int id, G4double factor) final
 
virtual G4bool FillP2 (G4int id, G4double xvalue, G4double yvalue, G4double zvalue, G4double weight=1.0) final
 
virtual G4int GetP2Id (const G4String &name, G4bool warn=true) const final
 
virtual G4int GetP2Nxbins (G4int id) const final
 
virtual G4double GetP2Xmin (G4int id) const final
 
virtual G4double GetP2Xmax (G4int id) const final
 
virtual G4double GetP2XWidth (G4int id) const final
 
virtual G4int GetP2Nybins (G4int id) const final
 
virtual G4double GetP2Ymin (G4int id) const final
 
virtual G4double GetP2Ymax (G4int id) const final
 
virtual G4double GetP2YWidth (G4int id) const final
 
virtual G4double GetP2Zmin (G4int id) const final
 
virtual G4double GetP2Zmax (G4int id) const final
 
virtual G4bool SetP2Title (G4int id, const G4String &title) final
 
virtual G4bool SetP2XAxisTitle (G4int id, const G4String &title) final
 
virtual G4bool SetP2YAxisTitle (G4int id, const G4String &title) final
 
virtual G4bool SetP2ZAxisTitle (G4int id, const G4String &title) final
 
virtual G4String GetP2Title (G4int id) const final
 
virtual G4String GetP2XAxisTitle (G4int id) const final
 
virtual G4String GetP2YAxisTitle (G4int id) const final
 
virtual G4String GetP2ZAxisTitle (G4int id) const final
 
virtual G4bool WriteOnAscii (std::ofstream &output) final
 
virtual std::shared_ptr< G4HnManagerGetHnManager () final
 
- Protected Member Functions inherited from G4THnManager< tools::histo::p2d >
void AddTVector (const std::vector< tools::histo::p2d * > &tVector)
 
std::vector< tools::histo::p2d *>::iterator BeginT ()
 
std::vector< tools::histo::p2d *>::iterator EndT ()
 
std::vector< tools::histo::p2d *>::const_iterator BeginConstT () const
 
std::vector< tools::histo::p2d *>::const_iterator EndConstT () const
 
tools::histo::p2d * GetTInFunction (G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
 
G4int RegisterT (tools::histo::p2d *t, const G4String &name)
 
G4int GetTId (const G4String &name, G4bool warn=true) const
 

Private Member Functions

void AddP2Information (const G4String &name, const G4String &xunitName, const G4String &yunitName, const G4String &zunitName, const G4String &xfcnName, const G4String &yfcnName, const G4String &zfcnName, G4BinScheme xbinScheme, G4BinScheme ybinScheme) const
 

Static Private Attributes

static const G4int kDimension = 2
 

Additional Inherited Members

- Protected Attributes inherited from G4THnManager< tools::histo::p2d >
const G4AnalysisManagerStatefState
 
std::vector< tools::histo::p2d *> fTVector
 
std::map< G4String, G4intfNameIdMap
 
std::shared_ptr< G4HnManagerfHnManager
 

Detailed Description

Definition at line 52 of file G4P2ToolsManager.hh.

Constructor & Destructor Documentation

◆ G4P2ToolsManager()

G4P2ToolsManager::G4P2ToolsManager ( const G4AnalysisManagerState state)
explicit

Definition at line 45 of file G4P2ToolsManager.cc.

◆ ~G4P2ToolsManager()

G4P2ToolsManager::~G4P2ToolsManager ( )
virtual

Definition at line 51 of file G4P2ToolsManager.cc.

52 {}
Here is the call graph for this function:

Member Function Documentation

◆ AddP2()

G4int G4P2ToolsManager::AddP2 ( const G4String name,
tools::histo::p2d *  p2d 
)

Definition at line 692 of file G4P2ToolsManager.cc.

693 {
694 #ifdef G4VERBOSE
695  if ( fState.GetVerboseL4() )
696  fState.GetVerboseL4()->Message("add", "P2", name);
697 #endif
698 
699  // Add annotation
700  AddP2Annotation(p2d, "none", "none", "none", "none", "none", "none");
701  // Add information
702  AddP2Information(name, "none", "none", "none", "none", "none", "none",
704 
705  // Register profile
706  G4int id = RegisterT(p2d, name);
707 
708 #ifdef G4VERBOSE
709  if ( fState.GetVerboseL2() )
710  fState.GetVerboseL2()->Message("add", "P2", name);
711 #endif
712  return id;
713 }
void AddP2Information(const G4String &name, const G4String &xunitName, const G4String &yunitName, const G4String &zunitName, const G4String &xfcnName, const G4String &yfcnName, const G4String &zfcnName, G4BinScheme xbinScheme, G4BinScheme ybinScheme) const
int G4int
Definition: G4Types.hh:78
G4int RegisterT(tools::histo::p2d *t, const G4String &name)
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddP2Information()

void G4P2ToolsManager::AddP2Information ( const G4String name,
const G4String xunitName,
const G4String yunitName,
const G4String zunitName,
const G4String xfcnName,
const G4String yfcnName,
const G4String zfcnName,
G4BinScheme  xbinScheme,
G4BinScheme  ybinScheme 
) const
private

Definition at line 265 of file G4P2ToolsManager.cc.

274 {
275  auto hnInformation = fHnManager->AddHnInformation(name, 3);
276  hnInformation->AddDimension(xunitName, xfcnName, xbinScheme);
277  hnInformation->AddDimension(yunitName, yfcnName, ybinScheme);
278  hnInformation->AddDimension(zunitName, zfcnName, G4BinScheme::kLinear);
279 }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
Here is the caller graph for this function:

◆ AddP2Vector()

void G4P2ToolsManager::AddP2Vector ( const std::vector< tools::histo::p2d *> &  p2Vector)

Definition at line 716 of file G4P2ToolsManager.cc.

718 {
719  AddTVector(p2Vector);
720 }
void AddTVector(const std::vector< tools::histo::p2d * > &tVector)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BeginConstP2()

std::vector< tools::histo::p2d * >::const_iterator G4P2ToolsManager::BeginConstP2 ( ) const
inline

Definition at line 202 of file G4P2ToolsManager.hh.

203 { return BeginConstT(); }
std::vector< tools::histo::p2d *>::const_iterator BeginConstT() const

◆ BeginP2()

std::vector< tools::histo::p2d * >::iterator G4P2ToolsManager::BeginP2 ( )
inline

Definition at line 195 of file G4P2ToolsManager.hh.

196 { return BeginT(); }
std::vector< tools::histo::p2d *>::iterator BeginT()

◆ CreateP2() [1/2]

G4int G4P2ToolsManager::CreateP2 ( const G4String name,
const G4String title,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
G4double  zmin = 0,
G4double  zmax = 0,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String zunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String zfcnName = "none",
const G4String xbinScheme = "linear",
const G4String ybinScheme = "linear" 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 286 of file G4P2ToolsManager.cc.

297 {
298 #ifdef G4VERBOSE
299  if ( fState.GetVerboseL4() )
300  fState.GetVerboseL4()->Message("create", "P2", name);
301 #endif
302  tools::histo::p2d* p2d
303  = CreateToolsP2(title,
304  nxbins, xmin, xmax, nybins, ymin, ymax, zmin, zmax,
305  xunitName, yunitName, zunitName,
306  xfcnName, yfcnName, zfcnName,
307  xbinSchemeName, ybinSchemeName);
308 
309  // Add annotation
310  AddP2Annotation(p2d, xunitName, yunitName, zunitName,
311  xfcnName, yfcnName, zfcnName);
312 
313  // Save P2 information
314  auto xbinScheme = GetBinScheme(xbinSchemeName);
315  auto ybinScheme = GetBinScheme(ybinSchemeName);
317  name, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
318  xbinScheme, ybinScheme);
319 
320  // Register profile
321  G4int id = RegisterT(p2d, name);
322 
323 #ifdef G4VERBOSE
324  if ( fState.GetVerboseL2() )
325  fState.GetVerboseL2()->Message("create", "P2", name);
326 #endif
327 
328  return id;
329 }
void AddP2Information(const G4String &name, const G4String &xunitName, const G4String &yunitName, const G4String &zunitName, const G4String &xfcnName, const G4String &yfcnName, const G4String &zfcnName, G4BinScheme xbinScheme, G4BinScheme ybinScheme) const
int G4int
Definition: G4Types.hh:78
G4int RegisterT(tools::histo::p2d *t, const G4String &name)
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:36
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ CreateP2() [2/2]

G4int G4P2ToolsManager::CreateP2 ( const G4String name,
const G4String title,
const std::vector< G4double > &  xedges,
const std::vector< G4double > &  yedges,
G4double  zmin = 0,
G4double  zmax = 0,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String zunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String zfcnName = "none" 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 332 of file G4P2ToolsManager.cc.

341 {
342 #ifdef G4VERBOSE
343  if ( fState.GetVerboseL4() )
344  fState.GetVerboseL4()->Message("create", "P2", name);
345 #endif
346  tools::histo::p2d* p2d
347  = CreateToolsP2(title, xedges, yedges, zmin, zmax,
348  xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
349 
350  // Add annotation
351  AddP2Annotation(
352  p2d, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
353 
354  // Save P2 information
356  name, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
358 
359  // Register profile
360  G4int id = RegisterT(p2d, name);
361 
362 #ifdef G4VERBOSE
363  if ( fState.GetVerboseL2() )
364  fState.GetVerboseL2()->Message("create", "P2", name);
365 #endif
366 
367  return id;
368 }
void AddP2Information(const G4String &name, const G4String &xunitName, const G4String &yunitName, const G4String &zunitName, const G4String &xfcnName, const G4String &yfcnName, const G4String &zfcnName, G4BinScheme xbinScheme, G4BinScheme ybinScheme) const
int G4int
Definition: G4Types.hh:78
G4int RegisterT(tools::histo::p2d *t, const G4String &name)
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ EndConstP2()

std::vector< tools::histo::p2d * >::const_iterator G4P2ToolsManager::EndConstP2 ( ) const
inline

Definition at line 206 of file G4P2ToolsManager.hh.

207 { return EndConstT(); }
std::vector< tools::histo::p2d *>::const_iterator EndConstT() const

◆ EndP2()

std::vector< tools::histo::p2d * >::iterator G4P2ToolsManager::EndP2 ( )
inline

Definition at line 198 of file G4P2ToolsManager.hh.

199 { return EndT(); }
std::vector< tools::histo::p2d *>::iterator EndT()

◆ FillP2()

G4bool G4P2ToolsManager::FillP2 ( G4int  id,
G4double  xvalue,
G4double  yvalue,
G4double  zvalue,
G4double  weight = 1.0 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 462 of file G4P2ToolsManager.cc.

465 {
466  auto p2d = GetTInFunction(id, "FillP2", true, false);
467  if ( ! p2d ) return false;
468 
469  if ( fState.GetIsActivation() && ( ! fHnManager->GetActivation(id) ) ) {
470  return false;
471  }
472 
473  auto xInfo
474  = fHnManager->GetHnDimensionInformation(id, kX, "FillP2");
475  auto yInfo
476  = fHnManager->GetHnDimensionInformation(id, kY, "FillP2");
477  auto zInfo
478  = fHnManager->GetHnDimensionInformation(id, kZ, "FillP2");
479 
480  p2d->fill(xInfo->fFcn(xvalue/xInfo->fUnit),
481  yInfo->fFcn(yvalue/yInfo->fUnit),
482  zInfo->fFcn(zvalue/zInfo->fUnit), weight);
483 #ifdef G4VERBOSE
484  if ( fState.GetVerboseL4() ) {
485  G4ExceptionDescription description;
486  //description << " id " << id
487  // << " xvalue " << xvalue << " yvalue " << yvalue << " zvalue " << zvalue;
488  description << " id " << id
489  << " xvalue " << xvalue
490  << " xfcn(xvalue/xunit) " << xInfo->fFcn(xvalue/xInfo->fUnit)
491  << " yvalue " << yvalue
492  << " yfcn(yvalue/yunit) " << yInfo->fFcn(yvalue/yInfo->fUnit)
493  << " zvalue " << zvalue
494  << " zfcn(zvalue/zunit) " << zInfo->fFcn(zvalue/zInfo->fUnit)
495  << " weight " << weight;
496  fState.GetVerboseL4()->Message("fill", "P2", description);
497  }
498 #endif
499  return true;
500 }
const G4int kZ
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
double weight
Definition: plottest35.C:25
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4AnalysisVerbose * GetVerboseL4() const
const G4int kY
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ GetHnManager()

std::shared_ptr< G4HnManager > G4P2ToolsManager::GetHnManager ( )
inlinefinalprotectedvirtual

Implements G4VP2Manager.

Definition at line 215 of file G4P2ToolsManager.hh.

216 { return std::shared_ptr<G4HnManager>(fHnManager); }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83

◆ GetHnVector()

const std::vector< G4HnInformation * > & G4P2ToolsManager::GetHnVector ( ) const
inline

Definition at line 212 of file G4P2ToolsManager.hh.

213 { return fHnManager->GetHnVector(); }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
Here is the caller graph for this function:

◆ GetP2()

tools::histo::p2d * G4P2ToolsManager::GetP2 ( G4int  id,
G4bool  warn = true,
G4bool  onlyIfActive = true 
) const

Definition at line 723 of file G4P2ToolsManager.cc.

725 {
726  return GetTInFunction(id, "GetP2", warn, onlyIfActive);
727 }
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2Id()

G4int G4P2ToolsManager::GetP2Id ( const G4String name,
G4bool  warn = true 
) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 503 of file G4P2ToolsManager.cc.

504 {
505  return GetTId(name, warn);
506 }
G4int GetTId(const G4String &name, G4bool warn=true) const
Here is the call graph for this function:

◆ GetP2Nxbins()

G4int G4P2ToolsManager::GetP2Nxbins ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 509 of file G4P2ToolsManager.cc.

510 {
511  auto p2d = GetTInFunction(id, "GetP2NXbins");
512  if ( ! p2d ) return 0;
513 
514  return GetNbins(*p2d, kX);
515 }
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4int GetNbins(const G4ToolsBaseHisto &baseHisto, G4int dimension)
Here is the call graph for this function:

◆ GetP2Nybins()

G4int G4P2ToolsManager::GetP2Nybins ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 547 of file G4P2ToolsManager.cc.

548 {
549  auto p2d = GetTInFunction(id, "GetP2NYbins");
550  if ( ! p2d ) return 0;
551 
552  return GetNbins(*p2d, kY);
553 }
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4int GetNbins(const G4ToolsBaseHisto &baseHisto, G4int dimension)
const G4int kY
Here is the call graph for this function:

◆ GetP2Title()

G4String G4P2ToolsManager::GetP2Title ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 641 of file G4P2ToolsManager.cc.

642 {
643  auto p2d = GetTInFunction(id, "GetP2Title");
644  if ( ! p2d ) return "";
645 
646  return GetTitle(*p2d);
647 }
G4String GetTitle(const G4ToolsBaseHisto &baseHisto)
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2Vector()

const std::vector< tools::histo::p2d * > & G4P2ToolsManager::GetP2Vector ( ) const
inline

Definition at line 209 of file G4P2ToolsManager.hh.

210 { return fTVector; }
std::vector< tools::histo::p2d *> fTVector
Definition: G4THnManager.hh:81
Here is the caller graph for this function:

◆ GetP2XAxisTitle()

G4String G4P2ToolsManager::GetP2XAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 650 of file G4P2ToolsManager.cc.

651 {
652  auto p2d = GetTInFunction(id, "GetP2XAxisTitle");
653  if ( ! p2d ) return "";
654 
655  return GetAxisTitle(*p2d, kX, fHnManager->GetHnType());
656 }
G4String GetAxisTitle(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2Xmax()

G4double G4P2ToolsManager::GetP2Xmax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 529 of file G4P2ToolsManager.cc.

530 {
531  auto p2d = GetTInFunction(id, "GetP2Xmax");
532  if ( ! p2d ) return 0;
533 
534  return GetMax(*p2d, kX);
535 }
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4double GetMax(const G4ToolsBaseHisto &baseHisto, G4int dimension)
Here is the call graph for this function:

◆ GetP2Xmin()

G4double G4P2ToolsManager::GetP2Xmin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 518 of file G4P2ToolsManager.cc.

519 {
520 // Returns xmin value with applied unit and profile function
521 
522  auto p2d = GetTInFunction(id, "GetP2Xmin");
523  if ( ! p2d ) return 0;
524 
525  return GetMin(*p2d, kX);
526 }
G4double GetMin(const G4ToolsBaseHisto &baseHisto, G4int dimension)
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2XWidth()

G4double G4P2ToolsManager::GetP2XWidth ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 538 of file G4P2ToolsManager.cc.

539 {
540  auto p2d = GetTInFunction(id, "GetP2XWidth", true, false);
541  if ( ! p2d ) return 0;
542 
543  return GetWidth(*p2d, kX, fHnManager->GetHnType());
544 }
G4double GetWidth(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2YAxisTitle()

G4String G4P2ToolsManager::GetP2YAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 659 of file G4P2ToolsManager.cc.

660 {
661  auto p2d = GetTInFunction(id, "GetP2YAxisTitle");
662  if ( ! p2d ) return "";
663 
664  return GetAxisTitle(*p2d, kY, fHnManager->GetHnType());
665 }
G4String GetAxisTitle(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4int kY
Here is the call graph for this function:

◆ GetP2Ymax()

G4double G4P2ToolsManager::GetP2Ymax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 567 of file G4P2ToolsManager.cc.

568 {
569  auto p2d = GetTInFunction(id, "GetP2Ymax");
570  if ( ! p2d ) return 0;
571 
572  return GetMax(*p2d, kY);
573 }
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4double GetMax(const G4ToolsBaseHisto &baseHisto, G4int dimension)
const G4int kY
Here is the call graph for this function:

◆ GetP2Ymin()

G4double G4P2ToolsManager::GetP2Ymin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 556 of file G4P2ToolsManager.cc.

557 {
558 // Returns xmin value with applied unit and profile function
559 
560  auto p2d = GetTInFunction(id, "GetP2Ymin");
561  if ( ! p2d ) return 0;
562 
563  return GetMin(*p2d, kY);
564 }
G4double GetMin(const G4ToolsBaseHisto &baseHisto, G4int dimension)
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4int kY
Here is the call graph for this function:

◆ GetP2YWidth()

G4double G4P2ToolsManager::GetP2YWidth ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 576 of file G4P2ToolsManager.cc.

577 {
578  auto p2d = GetTInFunction(id, "GetP2YWidth", true, false);
579  if ( ! p2d ) return 0;
580 
581  return GetWidth(*p2d, kY, fHnManager->GetHnType());
582 }
G4double GetWidth(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4int kY
Here is the call graph for this function:

◆ GetP2ZAxisTitle()

G4String G4P2ToolsManager::GetP2ZAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 668 of file G4P2ToolsManager.cc.

669 {
670  auto p2d = GetTInFunction(id, "GetP2ZAxisTitle");
671  if ( ! p2d ) return "";
672 
673  return GetAxisTitle(*p2d, kZ, fHnManager->GetHnType());
674 }
const G4int kZ
G4String GetAxisTitle(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ GetP2Zmax()

G4double G4P2ToolsManager::GetP2Zmax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 596 of file G4P2ToolsManager.cc.

597 {
598  auto p2d = GetTInFunction(id, "GetP2Zmax");
599  if ( ! p2d ) return 0;
600 
601  return GetMax(*p2d, kZ);
602 }
const G4int kZ
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4double GetMax(const G4ToolsBaseHisto &baseHisto, G4int dimension)
Here is the call graph for this function:

◆ GetP2Zmin()

G4double G4P2ToolsManager::GetP2Zmin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 585 of file G4P2ToolsManager.cc.

586 {
587 // Returns xmin value with applied unit and profile function
588 
589  auto p2d = GetTInFunction(id, "GetP2Zmin");
590  if ( ! p2d ) return 0;
591 
592  return GetMin(*p2d, kZ);
593 }
const G4int kZ
G4double GetMin(const G4ToolsBaseHisto &baseHisto, G4int dimension)
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ ScaleP2()

G4bool G4P2ToolsManager::ScaleP2 ( G4int  id,
G4double  factor 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 453 of file G4P2ToolsManager.cc.

454 {
455  auto p2d = GetTInFunction(id, "ScaleP2", false, false);
456  if ( ! p2d ) return false;
457 
458  return p2d->scale(factor);
459 }
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
static const G4double factor
Here is the call graph for this function:

◆ SetP2() [1/2]

G4bool G4P2ToolsManager::SetP2 ( G4int  id,
G4int  nxbins,
G4double  xmin,
G4double  xmax,
G4int  nybins,
G4double  ymin,
G4double  ymax,
G4double  zmin = 0,
G4double  zmax = 0,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String zunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String zfcnName = "none",
const G4String xbinScheme = "linear",
const G4String ybinScheme = "linear" 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 371 of file G4P2ToolsManager.cc.

381 {
382  auto p2d = GetTInFunction(id, "SetP2", false, false);
383  if ( ! p2d ) return false;
384 
385  auto info = fHnManager->GetHnInformation(id, "SetP2");
386 #ifdef G4VERBOSE
387  if ( fState.GetVerboseL4() )
388  fState.GetVerboseL4()->Message("configure", "P2", info->GetName());
389 #endif
390 
391  // Configure tools p2
392  ConfigureToolsP2(
393  p2d, nxbins, xmin, xmax, nybins, ymin, ymax, zmin, zmax,
394  xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
395  xbinSchemeName, ybinSchemeName);
396 
397  // Add annotation
398  AddP2Annotation(p2d, xunitName, yunitName, zunitName,
399  xfcnName, yfcnName, zfcnName);
400 
401  // Update information
402  auto xbinScheme = GetBinScheme(xbinSchemeName);
403  auto ybinScheme = GetBinScheme(ybinSchemeName);
404  UpdateP2Information(
405  info, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
406  xbinScheme, ybinScheme);
407 
408  // Set activation
409  fHnManager->SetActivation(id, true);
410 
411  return true;
412 }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:36
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ SetP2() [2/2]

G4bool G4P2ToolsManager::SetP2 ( G4int  id,
const std::vector< G4double > &  xedges,
const std::vector< G4double > &  yedges,
G4double  zmin = 0,
G4double  zmax = 0,
const G4String xunitName = "none",
const G4String yunitName = "none",
const G4String zunitName = "none",
const G4String xfcnName = "none",
const G4String yfcnName = "none",
const G4String zfcnName = "none" 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 415 of file G4P2ToolsManager.cc.

423 {
424  auto p2d = GetTInFunction(id, "SetP2", false, false);
425  if ( ! p2d ) return false;
426 
427  auto info = fHnManager->GetHnInformation(id, "SetP2");
428 #ifdef G4VERBOSE
429  if ( fState.GetVerboseL4() )
430  fState.GetVerboseL4()->Message("configure", "P2", info->GetName());
431 #endif
432 
433  // Configure tools p2
434  ConfigureToolsP2(p2d, xedges, yedges, zmin, zmax,
435  xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
436 
437  // Add annotation
438  AddP2Annotation(p2d, xunitName, yunitName, zunitName,
439  xfcnName, yfcnName, zfcnName);
440 
441  // Update information
442  UpdateP2Information(
443  info, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
445 
446  // Set activation
447  fHnManager->SetActivation(id, true);
448 
449  return true;
450 }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:80
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
Here is the call graph for this function:

◆ SetP2Title()

G4bool G4P2ToolsManager::SetP2Title ( G4int  id,
const G4String title 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 605 of file G4P2ToolsManager.cc.

606 {
607  auto p2d = GetTInFunction(id, "SetP2Title");
608  if ( ! p2d ) return false;
609 
610  return SetTitle(*p2d, title);
611 }
hist SetTitle("Cytoplasm intensity on transverse section")
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ SetP2XAxisTitle()

G4bool G4P2ToolsManager::SetP2XAxisTitle ( G4int  id,
const G4String title 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 614 of file G4P2ToolsManager.cc.

615 {
616  auto p2d = GetTInFunction(id, "SetP2XAxisTitle");
617  if ( ! p2d ) return false;
618 
619  return SetAxisTitle(*p2d, kX, title);
620 }
G4bool SetAxisTitle(G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &title)
const G4int kX
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ SetP2YAxisTitle()

G4bool G4P2ToolsManager::SetP2YAxisTitle ( G4int  id,
const G4String title 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 623 of file G4P2ToolsManager.cc.

624 {
625  auto p2d = GetTInFunction(id, "SetP2YAxisTitle");
626  if ( ! p2d ) return false;
627 
628  return SetAxisTitle(*p2d, kY, title);
629 }
G4bool SetAxisTitle(G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &title)
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4int kY
Here is the call graph for this function:

◆ SetP2ZAxisTitle()

G4bool G4P2ToolsManager::SetP2ZAxisTitle ( G4int  id,
const G4String title 
)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 632 of file G4P2ToolsManager.cc.

633 {
634  auto p2d = GetTInFunction(id, "SetP2ZAxisTitle");
635  if ( ! p2d ) return false;
636 
637  return SetAxisTitle(*p2d, kZ, title);
638 }
const G4int kZ
G4bool SetAxisTitle(G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &title)
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
Here is the call graph for this function:

◆ WriteOnAscii()

G4bool G4P2ToolsManager::WriteOnAscii ( std::ofstream &  output)
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 677 of file G4P2ToolsManager.cc.

678 {
679 // Write selected objects on ASCII file
680 // According to the implementation by Michel Maire, originally in
681 // extended examples.
682 // Not yet available for P2
683 
684  return ! fHnManager->IsAscii();
685 }
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:83

Member Data Documentation

◆ kDimension

const G4int G4P2ToolsManager::kDimension = 2
staticprivate

Definition at line 190 of file G4P2ToolsManager.hh.


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