Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4P2ToolsManager Class Reference

#include <G4P2ToolsManager.hh>

+ Inheritance 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
 
void AddTVector (const std::vector< tools::histo::p2d * > &tVector)
 
void Merge (G4Mutex &mergeMutex, G4THnManager< tools::histo::p2d > *masterInstance)
 

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
 
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")=0
 
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")=0
 
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")=0
 
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")=0
 
virtual G4bool ScaleP2 (G4int id, G4double factor)=0
 
virtual G4bool FillP2 (G4int id, G4double xvalue, G4double yvalue, G4double zvalue, G4double weight=1.0)=0
 
virtual G4int GetP2Id (const G4String &name, G4bool warn=true) const =0
 
virtual G4int GetP2Nxbins (G4int id) const =0
 
virtual G4double GetP2Xmin (G4int id) const =0
 
virtual G4double GetP2Xmax (G4int id) const =0
 
virtual G4double GetP2XWidth (G4int id) const =0
 
virtual G4int GetP2Nybins (G4int id) const =0
 
virtual G4double GetP2Ymin (G4int id) const =0
 
virtual G4double GetP2Ymax (G4int id) const =0
 
virtual G4double GetP2YWidth (G4int id) const =0
 
virtual G4double GetP2Zmin (G4int id) const =0
 
virtual G4double GetP2Zmax (G4int id) const =0
 
virtual G4bool SetP2Title (G4int id, const G4String &title)=0
 
virtual G4bool SetP2XAxisTitle (G4int id, const G4String &title)=0
 
virtual G4bool SetP2YAxisTitle (G4int id, const G4String &title)=0
 
virtual G4bool SetP2ZAxisTitle (G4int id, const G4String &title)=0
 
virtual G4String GetP2Title (G4int id) const =0
 
virtual G4String GetP2XAxisTitle (G4int id) const =0
 
virtual G4String GetP2YAxisTitle (G4int id) const =0
 
virtual G4String GetP2ZAxisTitle (G4int id) const =0
 
virtual G4bool WriteOnAscii (std::ofstream &output)=0
 
virtual std::shared_ptr< G4HnManagerGetHnManager ()=0
 
- Protected Member Functions inherited from G4THnManager< tools::histo::p2d >
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
 

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 51 of file G4P2ToolsManager.hh.

Constructor & Destructor Documentation

◆ G4P2ToolsManager()

G4P2ToolsManager::G4P2ToolsManager ( const G4AnalysisManagerState state)
explicit

Definition at line 44 of file G4P2ToolsManager.cc.

◆ ~G4P2ToolsManager()

G4P2ToolsManager::~G4P2ToolsManager ( )
virtual

Definition at line 50 of file G4P2ToolsManager.cc.

51{}

Member Function Documentation

◆ AddP2()

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

Definition at line 722 of file G4P2ToolsManager.cc.

723{
724#ifdef G4VERBOSE
725 if ( fState.GetVerboseL4() )
726 fState.GetVerboseL4()->Message("add", "P2", name);
727#endif
728
729 // Add annotation
730 AddP2Annotation(p2d, "none", "none", "none", "none", "none", "none");
731 // Add information
732 AddP2Information(name, "none", "none", "none", "none", "none", "none",
733 G4BinScheme::kLinear, G4BinScheme::kLinear);
734
735 // Register profile
736 G4int id = RegisterT(p2d, name);
737
738#ifdef G4VERBOSE
739 if ( fState.GetVerboseL2() )
740 fState.GetVerboseL2()->Message("add", "P2", name);
741#endif
742 return id;
743}
int G4int
Definition: G4Types.hh:85
const G4AnalysisVerbose * GetVerboseL2() const
const G4AnalysisVerbose * GetVerboseL4() const
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
const G4AnalysisManagerState & fState
Definition: G4THnManager.hh:82
G4int RegisterT(tools::histo::p2d *t, const G4String &name)

Referenced by G4XmlAnalysisReader::ReadP2Impl(), G4CsvAnalysisReader::ReadP2Impl(), G4Hdf5AnalysisReader::ReadP2Impl(), and G4RootAnalysisReader::ReadP2Impl().

◆ AddP2Vector()

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

Definition at line 746 of file G4P2ToolsManager.cc.

748{
749 AddTVector(p2Vector);
750}
void AddTVector(const std::vector< tools::histo::p2d * > &tVector)

◆ BeginConstP2()

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

Definition at line 201 of file G4P2ToolsManager.hh.

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

◆ BeginP2()

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

Definition at line 194 of file G4P2ToolsManager.hh.

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

◆ CreateP2() [1/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 362 of file G4P2ToolsManager.cc.

371{
372#ifdef G4VERBOSE
373 if ( fState.GetVerboseL4() )
374 fState.GetVerboseL4()->Message("create", "P2", name);
375#endif
376 tools::histo::p2d* p2d
377 = CreateToolsP2(title, xedges, yedges, zmin, zmax,
378 xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
379
380 // Add annotation
381 AddP2Annotation(
382 p2d, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
383
384 // Save P2 information
385 AddP2Information(
386 name, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
387 G4BinScheme::kUser, G4BinScheme::kUser);
388
389 // Register profile
390 G4int id = RegisterT(p2d, name);
391
392#ifdef G4VERBOSE
393 if ( fState.GetVerboseL2() )
394 fState.GetVerboseL2()->Message("create", "P2", name);
395#endif
396
397 return id;
398}

◆ CreateP2() [2/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 316 of file G4P2ToolsManager.cc.

327{
328#ifdef G4VERBOSE
329 if ( fState.GetVerboseL4() )
330 fState.GetVerboseL4()->Message("create", "P2", name);
331#endif
332 tools::histo::p2d* p2d
333 = CreateToolsP2(title,
334 nxbins, xmin, xmax, nybins, ymin, ymax, zmin, zmax,
335 xunitName, yunitName, zunitName,
336 xfcnName, yfcnName, zfcnName,
337 xbinSchemeName, ybinSchemeName);
338
339 // Add annotation
340 AddP2Annotation(p2d, xunitName, yunitName, zunitName,
341 xfcnName, yfcnName, zfcnName);
342
343 // Save P2 information
344 auto xbinScheme = GetBinScheme(xbinSchemeName);
345 auto ybinScheme = GetBinScheme(ybinSchemeName);
346 AddP2Information(
347 name, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
348 xbinScheme, ybinScheme);
349
350 // Register profile
351 G4int id = RegisterT(p2d, name);
352
353#ifdef G4VERBOSE
354 if ( fState.GetVerboseL2() )
355 fState.GetVerboseL2()->Message("create", "P2", name);
356#endif
357
358 return id;
359}
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:35

◆ EndConstP2()

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

Definition at line 205 of file G4P2ToolsManager.hh.

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

◆ EndP2()

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

Definition at line 197 of file G4P2ToolsManager.hh.

198{ 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 492 of file G4P2ToolsManager.cc.

495{
496 auto p2d = GetTInFunction(id, "FillP2", true, false);
497 if ( ! p2d ) return false;
498
499 if ( fState.GetIsActivation() && ( ! fHnManager->GetActivation(id) ) ) {
500 return false;
501 }
502
503 auto xInfo
504 = fHnManager->GetHnDimensionInformation(id, kX, "FillP2");
505 auto yInfo
506 = fHnManager->GetHnDimensionInformation(id, kY, "FillP2");
507 auto zInfo
508 = fHnManager->GetHnDimensionInformation(id, kZ, "FillP2");
509
510 p2d->fill(xInfo->fFcn(xvalue/xInfo->fUnit),
511 yInfo->fFcn(yvalue/yInfo->fUnit),
512 zInfo->fFcn(zvalue/zInfo->fUnit), weight);
513#ifdef G4VERBOSE
514 if ( fState.GetVerboseL4() ) {
515 G4ExceptionDescription description;
516 //description << " id " << id
517 // << " xvalue " << xvalue << " yvalue " << yvalue << " zvalue " << zvalue;
518 description << " id " << id
519 << " xvalue " << xvalue
520 << " xfcn(xvalue/xunit) " << xInfo->fFcn(xvalue/xInfo->fUnit)
521 << " yvalue " << yvalue
522 << " yfcn(yvalue/yunit) " << yInfo->fFcn(yvalue/yInfo->fUnit)
523 << " zvalue " << zvalue
524 << " zfcn(zvalue/zunit) " << zInfo->fFcn(zvalue/zInfo->fUnit)
525 << " weight " << weight;
526 fState.GetVerboseL4()->Message("fill", "P2", description);
527 }
528#endif
529 return true;
530}
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
std::shared_ptr< G4HnManager > fHnManager
Definition: G4THnManager.hh:85
tools::histo::p2d * GetTInFunction(G4int id, G4String functionName, G4bool warn=true, G4bool onlyIfActive=true) const
const G4int kY
const G4int kZ
const G4int kX

◆ GetHnManager()

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

Implements G4VP2Manager.

Definition at line 214 of file G4P2ToolsManager.hh.

215{ return std::shared_ptr<G4HnManager>(fHnManager); }

◆ GetHnVector()

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

Definition at line 211 of file G4P2ToolsManager.hh.

212{ return fHnManager->GetHnVector(); }

Referenced by G4ToolsAnalysisManager::MergeImpl(), and G4GenericAnalysisManager::WriteImpl().

◆ GetP2()

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

Definition at line 753 of file G4P2ToolsManager.cc.

755{
756 return GetTInFunction(id, "GetP2", warn, onlyIfActive);
757}

◆ GetP2Id()

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

Implements G4VP2Manager.

Definition at line 533 of file G4P2ToolsManager.cc.

534{
535 return GetTId(name, warn);
536}
G4int GetTId(const G4String &name, G4bool warn=true) const

◆ GetP2Nxbins()

G4int G4P2ToolsManager::GetP2Nxbins ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 539 of file G4P2ToolsManager.cc.

540{
541 auto p2d = GetTInFunction(id, "GetP2NXbins");
542 if ( ! p2d ) return 0;
543
544 return GetNbins(*p2d, kX);
545}
G4int GetNbins(const G4ToolsBaseHisto &baseHisto, G4int dimension)

◆ GetP2Nybins()

G4int G4P2ToolsManager::GetP2Nybins ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 577 of file G4P2ToolsManager.cc.

578{
579 auto p2d = GetTInFunction(id, "GetP2NYbins");
580 if ( ! p2d ) return 0;
581
582 return GetNbins(*p2d, kY);
583}

◆ GetP2Title()

G4String G4P2ToolsManager::GetP2Title ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 671 of file G4P2ToolsManager.cc.

672{
673 auto p2d = GetTInFunction(id, "GetP2Title");
674 if ( ! p2d ) return "";
675
676 return GetTitle(*p2d);
677}
G4String GetTitle(const G4ToolsBaseHisto &baseHisto)

◆ GetP2Vector()

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

Definition at line 208 of file G4P2ToolsManager.hh.

209{ return fTVector; }
std::vector< tools::histo::p2d * > fTVector
Definition: G4THnManager.hh:83

Referenced by G4ToolsAnalysisManager::MergeImpl(), and G4GenericAnalysisManager::WriteImpl().

◆ GetP2XAxisTitle()

G4String G4P2ToolsManager::GetP2XAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 680 of file G4P2ToolsManager.cc.

681{
682 auto p2d = GetTInFunction(id, "GetP2XAxisTitle");
683 if ( ! p2d ) return "";
684
685 return GetAxisTitle(*p2d, kX, fHnManager->GetHnType());
686}
G4String GetAxisTitle(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)

◆ GetP2Xmax()

G4double G4P2ToolsManager::GetP2Xmax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 559 of file G4P2ToolsManager.cc.

560{
561 auto p2d = GetTInFunction(id, "GetP2Xmax");
562 if ( ! p2d ) return 0.;
563
564 return GetMax(*p2d, kX);
565}
G4double GetMax(const G4ToolsBaseHisto &baseHisto, G4int dimension)

◆ GetP2Xmin()

G4double G4P2ToolsManager::GetP2Xmin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 548 of file G4P2ToolsManager.cc.

549{
550// Returns xmin value with applied unit and profile function
551
552 auto p2d = GetTInFunction(id, "GetP2Xmin");
553 if ( ! p2d ) return 0.;
554
555 return GetMin(*p2d, kX);
556}
G4double GetMin(const G4ToolsBaseHisto &baseHisto, G4int dimension)

◆ GetP2XWidth()

G4double G4P2ToolsManager::GetP2XWidth ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 568 of file G4P2ToolsManager.cc.

569{
570 auto p2d = GetTInFunction(id, "GetP2XWidth", true, false);
571 if ( ! p2d ) return 0.;
572
573 return GetWidth(*p2d, kX, fHnManager->GetHnType());
574}
G4double GetWidth(const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)

◆ GetP2YAxisTitle()

G4String G4P2ToolsManager::GetP2YAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 689 of file G4P2ToolsManager.cc.

690{
691 auto p2d = GetTInFunction(id, "GetP2YAxisTitle");
692 if ( ! p2d ) return "";
693
694 return GetAxisTitle(*p2d, kY, fHnManager->GetHnType());
695}

◆ GetP2Ymax()

G4double G4P2ToolsManager::GetP2Ymax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 597 of file G4P2ToolsManager.cc.

598{
599 auto p2d = GetTInFunction(id, "GetP2Ymax");
600 if ( ! p2d ) return 0.;
601
602 return GetMax(*p2d, kY);
603}

◆ GetP2Ymin()

G4double G4P2ToolsManager::GetP2Ymin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 586 of file G4P2ToolsManager.cc.

587{
588// Returns xmin value with applied unit and profile function
589
590 auto p2d = GetTInFunction(id, "GetP2Ymin");
591 if ( ! p2d ) return 0.;
592
593 return GetMin(*p2d, kY);
594}

◆ GetP2YWidth()

G4double G4P2ToolsManager::GetP2YWidth ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 606 of file G4P2ToolsManager.cc.

607{
608 auto p2d = GetTInFunction(id, "GetP2YWidth", true, false);
609 if ( ! p2d ) return 0.;
610
611 return GetWidth(*p2d, kY, fHnManager->GetHnType());
612}

◆ GetP2ZAxisTitle()

G4String G4P2ToolsManager::GetP2ZAxisTitle ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 698 of file G4P2ToolsManager.cc.

699{
700 auto p2d = GetTInFunction(id, "GetP2ZAxisTitle");
701 if ( ! p2d ) return "";
702
703 return GetAxisTitle(*p2d, kZ, fHnManager->GetHnType());
704}

◆ GetP2Zmax()

G4double G4P2ToolsManager::GetP2Zmax ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 626 of file G4P2ToolsManager.cc.

627{
628 auto p2d = GetTInFunction(id, "GetP2Zmax");
629 if ( ! p2d ) return 0.;
630
631 return GetMax(*p2d, kZ);
632}

◆ GetP2Zmin()

G4double G4P2ToolsManager::GetP2Zmin ( G4int  id) const
finalprotectedvirtual

Implements G4VP2Manager.

Definition at line 615 of file G4P2ToolsManager.cc.

616{
617// Returns xmin value with applied unit and profile function
618
619 auto p2d = GetTInFunction(id, "GetP2Zmin");
620 if ( ! p2d ) return 0.;
621
622 return GetMin(*p2d, kZ);
623}

◆ ScaleP2()

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

Implements G4VP2Manager.

Definition at line 483 of file G4P2ToolsManager.cc.

484{
485 auto p2d = GetTInFunction(id, "ScaleP2", false, false);
486 if ( ! p2d ) return false;
487
488 return p2d->scale(factor);
489}

◆ SetP2() [1/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 445 of file G4P2ToolsManager.cc.

453{
454 auto p2d = GetTInFunction(id, "SetP2", false, false);
455 if ( ! p2d ) return false;
456
457 auto info = fHnManager->GetHnInformation(id, "SetP2");
458#ifdef G4VERBOSE
459 if ( fState.GetVerboseL4() )
460 fState.GetVerboseL4()->Message("configure", "P2", info->GetName());
461#endif
462
463 // Configure tools p2
464 ConfigureToolsP2(p2d, xedges, yedges, zmin, zmax,
465 xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName);
466
467 // Add annotation
468 AddP2Annotation(p2d, xunitName, yunitName, zunitName,
469 xfcnName, yfcnName, zfcnName);
470
471 // Update information
472 UpdateP2Information(
473 info, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
474 G4BinScheme::kUser, G4BinScheme::kUser);
475
476 // Set activation
477 fHnManager->SetActivation(id, true);
478
479 return true;
480}

◆ SetP2() [2/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 401 of file G4P2ToolsManager.cc.

411{
412 auto p2d = GetTInFunction(id, "SetP2", false, false);
413 if ( ! p2d ) return false;
414
415 auto info = fHnManager->GetHnInformation(id, "SetP2");
416#ifdef G4VERBOSE
417 if ( fState.GetVerboseL4() )
418 fState.GetVerboseL4()->Message("configure", "P2", info->GetName());
419#endif
420
421 // Configure tools p2
422 ConfigureToolsP2(
423 p2d, nxbins, xmin, xmax, nybins, ymin, ymax, zmin, zmax,
424 xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
425 xbinSchemeName, ybinSchemeName);
426
427 // Add annotation
428 AddP2Annotation(p2d, xunitName, yunitName, zunitName,
429 xfcnName, yfcnName, zfcnName);
430
431 // Update information
432 auto xbinScheme = GetBinScheme(xbinSchemeName);
433 auto ybinScheme = GetBinScheme(ybinSchemeName);
434 UpdateP2Information(
435 info, xunitName, yunitName, zunitName, xfcnName, yfcnName, zfcnName,
436 xbinScheme, ybinScheme);
437
438 // Set activation
439 fHnManager->SetActivation(id, true);
440
441 return true;
442}

◆ SetP2Title()

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

Implements G4VP2Manager.

Definition at line 635 of file G4P2ToolsManager.cc.

636{
637 auto p2d = GetTInFunction(id, "SetP2Title");
638 if ( ! p2d ) return false;
639
640 return SetTitle(*p2d, title);
641}
G4bool SetTitle(G4ToolsBaseHisto &baseHisto, const G4String &title)

◆ SetP2XAxisTitle()

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

Implements G4VP2Manager.

Definition at line 644 of file G4P2ToolsManager.cc.

645{
646 auto p2d = GetTInFunction(id, "SetP2XAxisTitle");
647 if ( ! p2d ) return false;
648
649 return SetAxisTitle(*p2d, kX, title);
650}
G4bool SetAxisTitle(G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &title)

◆ SetP2YAxisTitle()

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

Implements G4VP2Manager.

Definition at line 653 of file G4P2ToolsManager.cc.

654{
655 auto p2d = GetTInFunction(id, "SetP2YAxisTitle");
656 if ( ! p2d ) return false;
657
658 return SetAxisTitle(*p2d, kY, title);
659}

◆ SetP2ZAxisTitle()

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

Implements G4VP2Manager.

Definition at line 662 of file G4P2ToolsManager.cc.

663{
664 auto p2d = GetTInFunction(id, "SetP2ZAxisTitle");
665 if ( ! p2d ) return false;
666
667 return SetAxisTitle(*p2d, kZ, title);
668}

◆ WriteOnAscii()

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

Implements G4VP2Manager.

Definition at line 707 of file G4P2ToolsManager.cc.

708{
709// Write selected objects on ASCII file
710// According to the implementation by Michel Maire, originally in
711// extended examples.
712// Not yet available for P2
713
714 return ! fHnManager->IsAscii();
715}

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