GENIEGenerator
Loading...
Searching...
No Matches
genie::AlgId Class Reference

Algorithm ID (algorithm name + configuration set name) More...

#include <AlgId.h>

Public Member Functions

 AlgId ()
 AlgId (string name, string config)
 AlgId (const AlgId &id)
 AlgId (const RgAlg &registry_item)
 ~AlgId ()
string Name (void) const
string Config (void) const
string Key (void) const
void SetId (string name, string config="")
void SetName (string name)
void SetConfig (string config)
void Copy (const AlgId &id)
void Copy (const RgAlg &registry_item)
void Print (ostream &stream) const

Private Member Functions

void Init (void)
void UpdateKey (void)

Private Attributes

string fName
 Algorithm name (including namespaces)
string fConfig
 Configuration set name.
string fKey
 Unique key: namespace::alg_name/alg_config.

Friends

ostream & operator<< (ostream &stream, const AlgId &alg)

Detailed Description

Algorithm ID (algorithm name + configuration set name)

Author
Costas Andreopoulos <c.andreopoulos \at cern.ch> University of Liverpool
Created:\n October 20, 2005
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org

Definition at line 34 of file AlgId.h.

Constructor & Destructor Documentation

◆ AlgId() [1/4]

AlgId::AlgId ( )

Definition at line 29 of file AlgId.cxx.

30{
31 this->Init();
32}
void Init(void)
Definition AlgId.cxx:103

References Init().

Referenced by AlgId(), Copy(), and operator<<.

◆ AlgId() [2/4]

AlgId::AlgId ( string name,
string config )

Definition at line 34 of file AlgId.cxx.

35{
36 this->SetId(name,config);
37}
void SetId(string name, string config="")
Definition AlgId.cxx:64

References SetId().

◆ AlgId() [3/4]

AlgId::AlgId ( const AlgId & id)

Definition at line 39 of file AlgId.cxx.

40{
41 this->Copy(id);
42}
void Copy(const AlgId &id)
Definition AlgId.cxx:72

References AlgId(), and Copy().

◆ AlgId() [4/4]

AlgId::AlgId ( const RgAlg & registry_item)

Definition at line 44 of file AlgId.cxx.

45{
46 this->Copy(registry_item);
47}

References Copy().

◆ ~AlgId()

AlgId::~AlgId ( )

Definition at line 49 of file AlgId.cxx.

50{
51
52}

Member Function Documentation

◆ Config()

string genie::AlgId::Config ( void ) const
inline

◆ Copy() [1/2]

void AlgId::Copy ( const AlgId & id)

Definition at line 72 of file AlgId.cxx.

73{
74 this->fName = id.Name();
75 this->fConfig = id.Config();
76
77 this->UpdateKey();
78}
void UpdateKey(void)
Definition AlgId.cxx:93
string fName
Algorithm name (including namespaces)
Definition AlgId.h:62

References AlgId(), fConfig, fName, and UpdateKey().

Referenced by AlgId(), and AlgId().

◆ Copy() [2/2]

void AlgId::Copy ( const RgAlg & registry_item)

Definition at line 80 of file AlgId.cxx.

81{
82 this->fName = registry_item.name;
83 this->fConfig = registry_item.config;
84
85 this->UpdateKey();
86}

References RgAlg::config, fConfig, fName, RgAlg::name, and UpdateKey().

◆ Init()

void AlgId::Init ( void )
private

Definition at line 103 of file AlgId.cxx.

104{
105 this->fName = "";
106 this->fConfig = "";
107 this->fKey = "";
108}
string fKey
Unique key: namespace::alg_name/alg_config.
Definition AlgId.h:64

References fConfig, fKey, and fName.

Referenced by AlgId().

◆ Key()

◆ Name()

◆ Print()

void AlgId::Print ( ostream & stream) const

Definition at line 88 of file AlgId.cxx.

89{
90 stream << this->Key();
91}
string Key(void) const
Definition AlgId.h:46

References Key().

Referenced by operator<<.

◆ SetConfig()

void AlgId::SetConfig ( string config)

Definition at line 59 of file AlgId.cxx.

60{
61 this->SetId(this->Name(), config);
62}
string Name(void) const
Definition AlgId.h:44

References Name(), and SetId().

◆ SetId()

void AlgId::SetId ( string name,
string config = "" )

Definition at line 64 of file AlgId.cxx.

65{
66 this->fName = name;
67 this->fConfig = config;
68
69 this->UpdateKey();
70}

References fConfig, fName, and UpdateKey().

Referenced by AlgId(), SetConfig(), and SetName().

◆ SetName()

void AlgId::SetName ( string name)

Definition at line 54 of file AlgId.cxx.

55{
56 this->SetId(name, this->Config());
57}
string Config(void) const
Definition AlgId.h:45

References Config(), and SetId().

◆ UpdateKey()

void AlgId::UpdateKey ( void )
private

Definition at line 93 of file AlgId.cxx.

94{
95 ostringstream key;
96
97 key << this->Name();
98 if(this->Config().size() > 0) key << "/" << this->Config();
99
100 fKey = key.str();
101}

References Config(), fKey, and Name().

Referenced by Copy(), Copy(), and SetId().

◆ operator<<

ostream & operator<< ( ostream & stream,
const AlgId & alg )
friend

Definition at line 22 of file AlgId.cxx.

23 {
24 algid.Print(stream);
25 return stream;
26 }

References AlgId(), and Print().

Member Data Documentation

◆ fConfig

string genie::AlgId::fConfig
private

Configuration set name.

Definition at line 63 of file AlgId.h.

Referenced by Config(), Copy(), Copy(), Init(), and SetId().

◆ fKey

string genie::AlgId::fKey
private

Unique key: namespace::alg_name/alg_config.

Definition at line 64 of file AlgId.h.

Referenced by Init(), Key(), and UpdateKey().

◆ fName

string genie::AlgId::fName
private

Algorithm name (including namespaces)

Definition at line 62 of file AlgId.h.

Referenced by Copy(), Copy(), Init(), Name(), and SetId().


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