73 if(
nullptr == instance) {
90 std::size_t n = xSections.size();
91 for (std::size_t i=0; i<n; ++i) {
95 xSections[i] =
nullptr;
98 n = xComponents.size();
99 for (std::size_t i=0; i<n; ++i) {
100 auto p = xComponents[i];
103 xComponents[i] =
nullptr;
110 if(
nullptr == p) {
return; }
111 for (
auto & xsec : xSections) {
112 if(xsec == p) {
return; }
114 xSections.push_back(p);
119 if(
nullptr == p) {
return; }
120 std::size_t n = xSections.size();
121 for (std::size_t i=0; i<n; ++i) {
122 if(xSections[i] == p) {
123 xSections[i] =
nullptr;
131 if(
nullptr == p) {
return; }
132 for (
auto & xsec : xComponents) {
133 if(xsec == p) {
return; }
135 xComponents.push_back(p);
140 if(
nullptr == p) {
return; }
141 std::size_t n = xComponents.size();
142 for (std::size_t i=0; i<n; ++i) {
143 if(xComponents[i] == p) {
144 xComponents[i] =
nullptr;
153 if(
nullptr == p) {
return; }
154 std::size_t n = xComponents.size();
155 for (std::size_t i=0; i<n; ++i) {
156 if(xComponents[i] == p) {
167 for (
auto & xsec : xSections) {
168 if(
nullptr != xsec && xsec->GetName() == name) {
return xsec; }
188 for (
auto & xsec : xComponents) {
189 if(
nullptr != xsec && xsec->GetName() == name) {
return xsec; }
#define G4_REFERENCE_XS_FACTORY(cross_section)
void DeRegister(G4VCrossSectionDataSet *)
~G4CrossSectionDataSetRegistry()
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=false)
G4VComponentCrossSection * GetComponentCrossSection(const G4String &name)
G4CrossSectionDataSetRegistry(G4CrossSectionDataSetRegistry &)=delete
void Register(G4VCrossSectionDataSet *)
static G4CrossSectionDataSetRegistry * Instance()
void DeleteComponent(G4VComponentCrossSection *)
static G4CrossSectionFactoryRegistry * Instance()
G4VBaseXSFactory * GetFactory(const G4String &name, G4bool abortIfNotFound=true) const
virtual G4VCrossSectionDataSet * Instantiate()=0