#include <G4PixeCrossSectionHandler.hh>
 | 
|   | G4PixeCrossSectionHandler () | 
|   | 
|   | G4PixeCrossSectionHandler (G4IInterpolator *interpolation, const G4String &modelK="ecpssr", const G4String &modelL="ecpssr", const G4String &modelM="ecpssr", G4double minE=1 *CLHEP::keV, G4double maxE=0.1 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=6, G4int maxZ=92) | 
|   | 
| virtual  | ~G4PixeCrossSectionHandler () | 
|   | 
| void  | Initialise (G4IInterpolator *interpolation, const G4String &modelK="ecpssr", const G4String &modelL="ecpssr", const G4String &modelM="ecpssr", G4double minE=1 *CLHEP::keV, G4double maxE=0.1 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=6, G4int maxZ=92) | 
|   | 
| G4int  | SelectRandomAtom (const G4Material *material, G4double e) const  | 
|   | 
| G4int  | SelectRandomShell (G4int Z, G4double e) const  | 
|   | 
| G4double  | FindValue (G4int Z, G4double e) const  | 
|   | 
| G4double  | FindValue (G4int Z, G4double e, G4int shellIndex) const  | 
|   | 
| G4double  | ValueForMaterial (const G4Material *material, G4double e) const  | 
|   | 
| void  | LoadShellData (const G4String &dataFile) | 
|   | 
| G4double  | MicroscopicCrossSection (const G4ParticleDefinition *particleDef, G4double kineticEnergy, G4double Z, G4double deltaCut) const  | 
|   | 
| void  | PrintData () const  | 
|   | 
| void  | Clear () | 
|   | 
      
        
          | G4PixeCrossSectionHandler::G4PixeCrossSectionHandler  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 61 of file G4PixeCrossSectionHandler.cc.
   66   Initialise(0,
"",
"",
"",1.*
keV,0.1*
GeV,200,
MeV,
barn,6,92);
 
void Initialise(G4IInterpolator *interpolation, const G4String &modelK="ecpssr", const G4String &modelL="ecpssr", const G4String &modelM="ecpssr", G4double minE=1 *CLHEP::keV, G4double maxE=0.1 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=6, G4int maxZ=92)
 
static constexpr double GeV
 
static constexpr double MeV
 
static constexpr double barn
 
static constexpr double keV
 
 
 
 
      
        
          | G4PixeCrossSectionHandler::G4PixeCrossSectionHandler  | 
          ( | 
          G4IInterpolator *  | 
          interpolation,  | 
        
        
           | 
           | 
          const G4String &  | 
          modelK = "ecpssr",  | 
        
        
           | 
           | 
          const G4String &  | 
          modelL = "ecpssr",  | 
        
        
           | 
           | 
          const G4String &  | 
          modelM = "ecpssr",  | 
        
        
           | 
           | 
          G4double  | 
          minE = 1*CLHEP::keV,  | 
        
        
           | 
           | 
          G4double  | 
          maxE = 0.1*CLHEP::GeV,  | 
        
        
           | 
           | 
          G4int  | 
          nBins = 200,  | 
        
        
           | 
           | 
          G4double  | 
          unitE = CLHEP::MeV,  | 
        
        
           | 
           | 
          G4double  | 
          unitData = CLHEP::barn,  | 
        
        
           | 
           | 
          G4int  | 
          minZ = 6,  | 
        
        
           | 
           | 
          G4int  | 
          maxZ = 92  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 71 of file G4PixeCrossSectionHandler.cc.
   82   : interpolation(algorithm), eMin(minE), eMax(maxE), nBins(bins),
 
   83     unit1(unitE), unit2(unitData), zMin(minZ), zMax(maxZ)
 
   87   crossModel.push_back(modelK);
 
   88   crossModel.push_back(modelL);
 
   89   crossModel.push_back(modelM);
 
 
 
 
  
  
      
        
          | G4PixeCrossSectionHandler::~G4PixeCrossSectionHandler  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtual   | 
  
 
Definition at line 98 of file G4PixeCrossSectionHandler.cc.
  100   delete interpolation;
 
  102   std::map<G4int,G4IDataSet*,std::less<G4int> >::iterator 
pos;
 
  104   for (pos = dataMap.begin(); pos != dataMap.end(); ++
pos)
 
  114   if (crossSections != 0)
 
  116       size_t n = crossSections->size();
 
  117       for (
size_t i=0; i<
n; i++)
 
  119       delete (*crossSections)[i];
 
  121       delete crossSections;
 
static const G4double pos
 
 
 
 
      
        
          | void G4PixeCrossSectionHandler::Clear  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 210 of file G4PixeCrossSectionHandler.cc.
  213   std::map<G4int,G4IDataSet*,std::less<G4int> >::iterator 
pos;
 
  215   if(! dataMap.empty())
 
  217       for (pos = dataMap.begin(); pos != dataMap.end(); ++
pos)
 
  226       G4int i = (*pos).first;
 
static const G4double pos
 
 
 
 
Definition at line 236 of file G4PixeCrossSectionHandler.cc.
  240   std::map<G4int,G4IDataSet*,std::less<G4int> >::const_iterator 
pos;
 
  241   pos = dataMap.find(
Z);
 
  242   if (pos!= dataMap.end())
 
  253       G4cout << 
"WARNING: G4PixeCrossSectionHandler::FindValue(Z,e) did not find Z = " 
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
 
G4GLOB_DLL std::ostream G4cout
 
const XML_Char int const XML_Char * value
 
G4double energy(const ThreeVector &p, const G4double m)
 
static const G4double pos
 
 
 
 
Definition at line 259 of file G4PixeCrossSectionHandler.cc.
  264   std::map<G4int,G4IDataSet*,std::less<G4int> >::const_iterator 
pos;
 
  265   pos = dataMap.find(
Z);
 
  266   if (pos!= dataMap.end())
 
  276       if(shellIndex < nComponents)    
 
  281           G4cout << 
"WARNING: G4PixeCrossSectionHandler::FindValue(Z,e,shell) did not find" 
  282              << 
" shellIndex= " << shellIndex
 
  292       G4cout << 
"WARNING: G4PixeCrossSectionHandler::FindValue did not find Z = " 
virtual const G4IDataSet * GetComponent(G4int componentId) const =0
 
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
 
virtual size_t NumberOfComponents(void) const =0
 
G4GLOB_DLL std::ostream G4cout
 
const XML_Char int const XML_Char * value
 
G4double energy(const ThreeVector &p, const G4double m)
 
static const G4double pos
 
 
 
 
      
        
          | void G4PixeCrossSectionHandler::Initialise  | 
          ( | 
          G4IInterpolator *  | 
          interpolation,  | 
        
        
           | 
           | 
          const G4String &  | 
          modelK = "ecpssr",  | 
        
        
           | 
           | 
          const G4String &  | 
          modelL = "ecpssr",  | 
        
        
           | 
           | 
          const G4String &  | 
          modelM = "ecpssr",  | 
        
        
           | 
           | 
          G4double  | 
          minE = 1*CLHEP::keV,  | 
        
        
           | 
           | 
          G4double  | 
          maxE = 0.1*CLHEP::GeV,  | 
        
        
           | 
           | 
          G4int  | 
          nBins = 200,  | 
        
        
           | 
           | 
          G4double  | 
          unitE = CLHEP::MeV,  | 
        
        
           | 
           | 
          G4double  | 
          unitData = CLHEP::barn,  | 
        
        
           | 
           | 
          G4int  | 
          minZ = 6,  | 
        
        
           | 
           | 
          G4int  | 
          maxZ = 92  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 126 of file G4PixeCrossSectionHandler.cc.
  137       delete interpolation;
 
  138       interpolation = algorithm;
 
  142       interpolation = CreateInterpolation();
 
  147   nBins = numberOfBins;
 
  153   crossModel.push_back(modelK);
 
  154   crossModel.push_back(modelL);
 
  155   crossModel.push_back(modelM);
 
 
 
 
      
        
          | void G4PixeCrossSectionHandler::LoadShellData  | 
          ( | 
          const G4String &  | 
          dataFile | ) | 
           | 
        
      
 
Definition at line 180 of file G4PixeCrossSectionHandler.cc.
  182   size_t nZ = activeZ.size();
 
  183   for (
size_t i=0; i<nZ; i++)
 
  199       dataMap[
Z] = dataSet;
 
virtual G4bool LoadData(const G4String &fileName)=0
 
virtual G4IInterpolator * Clone() const =0
 
 
 
 
Definition at line 695 of file G4PixeCrossSectionHandler.cc.
  712   G4double gamma = energy / particleMass;
 
  713   G4double beta2 = 1. - 1. / (gamma * gamma);
 
  719   if ( tMax > deltaCut ) 
 
  721       var = deltaCut / tMax;
 
  722       cross = (1. - var * (1. - beta2 * std::log(var))) / deltaCut;
 
  732       else if (spin > 0.9 )
 
  734       cross += -std::log(var) / (3.*deltaCut) + (tMax-deltaCut) * 
 
  735         ((5.+1./var)*0.25 /(
energy*
energy) - beta2 / (tMax*deltaCut))/3.;
 
G4double GetPDGMass() const 
 
G4double energy(const ThreeVector &p, const G4double m)
 
G4double GetPDGSpin() const 
 
 
 
 
      
        
          | void G4PixeCrossSectionHandler::PrintData  | 
          ( | 
          void  | 
           | ) | 
           const | 
        
      
 
Definition at line 159 of file G4PixeCrossSectionHandler.cc.
  161   std::map<G4int,G4IDataSet*,std::less<G4int> >::const_iterator 
pos;
 
  163   for (pos = dataMap.begin(); pos != dataMap.end(); pos++)
 
  172       G4cout << 
"---- Data set for Z = " 
  176       G4cout << 
"--------------------------------------------------" << 
G4endl;
 
G4GLOB_DLL std::ostream G4cout
 
virtual void PrintData(void) const =0
 
static const G4double pos
 
 
 
 
Definition at line 448 of file G4PixeCrossSectionHandler.cc.
  466   size_t materialIndex = material->
GetIndex();
 
  468   G4IDataSet* materialSet = (*crossSections)[materialIndex];
 
  469   G4double materialCrossSection0 = 0.0;
 
  472   for ( 
G4int i=0; i < nElements; i++ )
 
  475       materialCrossSection0 += cr;
 
  476       cross.push_back(materialCrossSection0);
 
  481   for (
G4int k=0 ; k < nElements ; k++ )
 
  483       if (random <= cross[k]) 
return (
G4int) (*elementVector)[k]->GetZ();
 
virtual const G4IDataSet * GetComponent(G4int componentId) const =0
 
std::vector< G4Element * > G4ElementVector
 
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
 
const G4ElementVector * GetElementVector() const 
 
size_t GetNumberOfElements() const 
 
 
 
 
Definition at line 538 of file G4PixeCrossSectionHandler.cc.
  553   std::map<G4int,G4IDataSet*,std::less<G4int> >::const_iterator 
pos;
 
  554   pos = dataMap.find(
Z);
 
  559   if (pos != dataMap.end()) dataSet = (*pos).second;
 
  562   for (
size_t i=0; i<nShells; i++)
 
  565       if (shellDataSet != 0)
 
  569       if (random <= partialSum) 
return i;
 
virtual const G4IDataSet * GetComponent(G4int componentId) const =0
 
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
 
virtual size_t NumberOfComponents(void) const =0
 
const XML_Char int const XML_Char * value
 
G4double FindValue(G4int Z, G4double e) const 
 
static const G4double pos
 
 
 
 
Definition at line 299 of file G4PixeCrossSectionHandler.cc.
  308   for (
G4int i=0 ; i<nElements ; i++)
 
  312       G4double nAtomsVol = nAtomsPerVolume[i];
 
  313       value += nAtomsVol * elementValue;
 
std::vector< G4Element * > G4ElementVector
 
const G4ElementVector * GetElementVector() const 
 
const G4double * GetVecNbOfAtomsPerVolume() const 
 
const XML_Char int const XML_Char * value
 
G4double energy(const ThreeVector &p, const G4double m)
 
size_t GetNumberOfElements() const 
 
G4double FindValue(G4int Z, G4double e) const 
 
 
 
 
The documentation for this class was generated from the following files: