Geant4  10.02.p03
G4CascadeChannelTables Class Reference

#include <G4CascadeChannelTables.hh>

Collaboration diagram for G4CascadeChannelTables:

Public Member Functions

 ~G4CascadeChannelTables ()
 

Static Public Member Functions

static const G4CascadeChannelGetTable (G4int initialState)
 
static const G4CascadeChannelGetTable (G4int had1, G4int had2)
 
static void Print (std::ostream &os=G4cout)
 
static void PrintTable (G4int initialState, std::ostream &os=G4cout)
 

Private Types

typedef std::map< G4int, G4CascadeChannel * > TableMap
 

Private Member Functions

 G4CascadeChannelTables ()
 
const G4CascadeChannelFindTable (G4int initialState) const
 

Static Private Member Functions

static const G4CascadeChannelTablesinstance ()
 

Private Attributes

TableMap tables
 

Static Private Attributes

static G4ThreadLocal G4CascadeChannelTablestheInstance = 0
 

Detailed Description

Definition at line 53 of file G4CascadeChannelTables.hh.

Member Typedef Documentation

◆ TableMap

Definition at line 77 of file G4CascadeChannelTables.hh.

Constructor & Destructor Documentation

◆ ~G4CascadeChannelTables()

G4CascadeChannelTables::~G4CascadeChannelTables ( )

Definition at line 141 of file G4CascadeChannelTables.cc.

141  {
142  TableMap::iterator entry;
143  for (entry = tables.begin(); entry != tables.end(); ++entry) {
144  delete entry->second; entry->second = 0;
145  }
146 
147  tables.clear();
148 }

◆ G4CascadeChannelTables()

G4CascadeChannelTables::G4CascadeChannelTables ( )
private

Definition at line 103 of file G4CascadeChannelTables.cc.

103  {
104  tables.clear();
111  tables[kmi*neu] = new G4CascadeKminusNChannel;
112  tables[kmi*pro] = new G4CascadeKminusPChannel;
115  tables[lam*neu] = new G4CascadeLambdaNChannel;
116  tables[lam*pro] = new G4CascadeLambdaPChannel;
119  tables[pi0*neu] = new G4CascadePiZeroNChannel;
120  tables[pi0*pro] = new G4CascadePiZeroPChannel;
123  tables[pip*neu] = new G4CascadePiPlusNChannel;
124  tables[pip*pro] = new G4CascadePiPlusPChannel;
132  tables[xi0*neu] = new G4CascadeXiZeroNChannel;
133  tables[xi0*pro] = new G4CascadeXiZeroPChannel;
139 }
G4CascadeFunctions< G4CascadeKplusNChannelData, G4KaonSampler > G4CascadeKplusNChannel
G4CascadeFunctions< G4CascadeSigmaPlusPChannelData, G4KaonHypSampler > G4CascadeSigmaPlusPChannel
G4CascadeFunctions< G4CascadeKzeroPChannelData, G4KaonHypSampler > G4CascadeKzeroPChannel
G4CascadeFunctions< G4CascadeKzeroBarNChannelData, G4KaonHypSampler > G4CascadeKzeroBarNChannel
G4CascadeFunctions< G4CascadeSigmaPlusNChannelData, G4KaonHypSampler > G4CascadeSigmaPlusNChannel
G4CascadeFunctions< G4CascadeSigmaMinusNChannelData, G4KaonHypSampler > G4CascadeSigmaMinusNChannel
G4CascadeFunctions< G4CascadeGamPChannelData, G4PionNucSampler > G4CascadeGamPChannel
G4CascadeFunctions< G4CascadeSigmaZeroPChannelData, G4KaonHypSampler > G4CascadeSigmaZeroPChannel
G4CascadeFunctions< G4CascadePiMinusNChannelData, G4PionNucSampler > G4CascadePiMinusNChannel
G4CascadeFunctions< G4CascadeKzeroNChannelData, G4KaonHypSampler > G4CascadeKzeroNChannel
G4CascadeFunctions< G4CascadeSigmaMinusPChannelData, G4KaonHypSampler > G4CascadeSigmaMinusPChannel
G4CascadeFunctions< G4CascadeXiMinusPChannelData, G4KaonHypSampler > G4CascadeXiMinusPChannel
G4CascadeFunctions< G4CascadeGamNChannelData, G4PionNucSampler > G4CascadeGamNChannel
G4CascadeFunctions< G4CascadeOmegaMinusNChannelData, G4KaonHypSampler > G4CascadeOmegaMinusNChannel
G4CascadeFunctions< G4CascadeXiMinusNChannelData, G4KaonHypSampler > G4CascadeXiMinusNChannel
G4CascadeFunctions< G4CascadeOmegaMinusPChannelData, G4KaonHypSampler > G4CascadeOmegaMinusPChannel
G4CascadeFunctions< G4CascadeMuMinusPChannelData, G4PionNucSampler > G4CascadeMuMinusPChannel
G4CascadeFunctions< G4CascadePiMinusPChannelData, G4PionNucSampler > G4CascadePiMinusPChannel
G4CascadeFunctions< G4CascadeSigmaZeroNChannelData, G4KaonHypSampler > G4CascadeSigmaZeroNChannel
G4CascadeFunctions< G4CascadeKplusPChannelData, G4KaonSampler > G4CascadeKplusPChannel
G4CascadeFunctions< G4CascadeKzeroBarPChannelData, G4KaonHypSampler > G4CascadeKzeroBarPChannel

Member Function Documentation

◆ FindTable()

const G4CascadeChannel * G4CascadeChannelTables::FindTable ( G4int  initialState) const
private

Definition at line 167 of file G4CascadeChannelTables.cc.

167  {
168 #ifdef G4CASCADE_DEBUG_SAMPLER
169  G4cout << "G4CascadeChannelTables::FindTable " << initialState << G4endl;
170 #endif
171  TableMap::const_iterator entry = tables.find(initialState);
172  return (entry != tables.end()) ? entry->second : 0;
173 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

◆ GetTable() [1/2]

const G4CascadeChannel * G4CascadeChannelTables::GetTable ( G4int  initialState)
static

Definition at line 153 of file G4CascadeChannelTables.cc.

153  {
154  return instance().FindTable(initialState);
155 }
const G4CascadeChannel * FindTable(G4int initialState) const
static const G4CascadeChannelTables & instance()
Here is the caller graph for this function:

◆ GetTable() [2/2]

const G4CascadeChannel * G4CascadeChannelTables::GetTable ( G4int  had1,
G4int  had2 
)
static

Definition at line 160 of file G4CascadeChannelTables.cc.

160  {
161  return GetTable(had1*had2);
162 }
static const G4CascadeChannel * GetTable(G4int initialState)

◆ instance()

const G4CascadeChannelTables & G4CascadeChannelTables::instance ( )
staticprivate

Definition at line 91 of file G4CascadeChannelTables.cc.

91  {
92  if (!theInstance) {
95  }
96 
97  return *theInstance;
98 }
void Register(T *inst)
Definition: G4AutoDelete.hh:65
static G4ThreadLocal G4CascadeChannelTables * theInstance
Here is the call graph for this function:

◆ Print()

void G4CascadeChannelTables::Print ( std::ostream &  os = G4cout)
static

Definition at line 178 of file G4CascadeChannelTables.cc.

178  {
179  const TableMap& theTables = instance().tables; // For convenience
180  TableMap::const_iterator entry;
181  for (entry = theTables.begin(); entry != theTables.end(); ++entry) {
182  if (entry->second) entry->second->printTable(os);
183  }
184 }
std::map< G4int, G4CascadeChannel * > TableMap
static const G4CascadeChannelTables & instance()
Here is the caller graph for this function:

◆ PrintTable()

void G4CascadeChannelTables::PrintTable ( G4int  initialState,
std::ostream &  os = G4cout 
)
static

Definition at line 186 of file G4CascadeChannelTables.cc.

186  {
187  const G4CascadeChannel* tbl = GetTable(initialState);
188  if (tbl) tbl->printTable(os);
189 }
static const G4CascadeChannel * GetTable(G4int initialState)
virtual void printTable(std::ostream &os=G4cout) const =0
Here is the call graph for this function:

Member Data Documentation

◆ tables

TableMap G4CascadeChannelTables::tables
private

Definition at line 78 of file G4CascadeChannelTables.hh.

◆ theInstance

G4ThreadLocal G4CascadeChannelTables * G4CascadeChannelTables::theInstance = 0
staticprivate

Definition at line 70 of file G4CascadeChannelTables.hh.


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