G4TextPPReporter Class Reference

#include <G4TextPPReporter.hh>

Inheritance diagram for G4TextPPReporter:

G4VParticlePropertyReporter

Public Member Functions

 G4TextPPReporter ()
virtual ~G4TextPPReporter ()
virtual void Print (const G4String &option="")

Protected Member Functions

void SparseOption (const G4String &option)
void GeneratePropertyTable (const G4ParticleDefinition *)

Protected Attributes

G4String baseDir

Detailed Description

Definition at line 44 of file G4TextPPReporter.hh.


Constructor & Destructor Documentation

G4TextPPReporter::G4TextPPReporter (  ) 

Definition at line 49 of file G4TextPPReporter.cc.

00049                                   :G4VParticlePropertyReporter()
00050 { 
00051 }

G4TextPPReporter::~G4TextPPReporter (  )  [virtual]

Definition at line 54 of file G4TextPPReporter.cc.

00055 {
00056 }    


Member Function Documentation

void G4TextPPReporter::GeneratePropertyTable ( const G4ParticleDefinition  )  [protected]

Definition at line 86 of file G4TextPPReporter.cc.

References baseDir, G4DecayTable::entries(), G4endl, G4VDecayChannel::GetBR(), G4DecayTable::GetDecayChannel(), G4ParticleDefinition::GetDecayTable(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGiConjugation(), G4ParticleDefinition::GetPDGiIsospin(), G4ParticleDefinition::GetPDGiParity(), G4ParticleDefinition::GetPDGiSpin(), G4ParticleDefinition::GetPDGLifeTime(), G4ParticleDefinition::GetPDGMass(), and G4ParticleDefinition::GetPDGWidth().

Referenced by Print().

00087 {
00088   G4String name = particle->GetParticleName();
00089   
00090   //--- open file -----
00091   G4String fileName = baseDir + name + ".txt";
00092   // exception
00093   if (name == "J/psi") fileName = baseDir +"jpsi.txt";
00094 
00095   std::ofstream outFile(fileName, std::ios::out );
00096   outFile.setf( std::ios:: scientific, std::ios::floatfield );
00097   outFile << std::setprecision(7) << G4endl;
00098 
00099   // particle name  encoding
00100   outFile << name << " "
00101           <<  particle->GetPDGEncoding()  << G4endl;
00102 
00103   // IJPC
00104   outFile << particle->GetPDGiIsospin()       << " "
00105           << particle->GetPDGiSpin()          << " "
00106           << particle->GetPDGiParity()        << " "
00107           << particle->GetPDGiConjugation()   << G4endl;
00108 
00109   // mass, width, charge 
00110   outFile <<  particle->GetPDGMass()/GeV      << " "
00111           <<  particle->GetPDGWidth()/GeV     << " " 
00112           <<  particle->GetPDGCharge()/eplus  << G4endl;
00113 
00114   // life time
00115   outFile << particle->GetPDGLifeTime()/second << G4endl;
00116 
00117 // Decay Table  
00118   G4DecayTable* dcyTable = particle->GetDecayTable(); 
00119   if (dcyTable != 0) { 
00120     for (G4int i=0; i< dcyTable->entries(); i++){
00121       G4VDecayChannel * channel = dcyTable->GetDecayChannel(i);
00122       // column 1  : BR
00123       outFile << channel->GetBR() << " ";
00124       // column 2.  : daughters
00125       outFile << channel->GetNumberOfDaughters() << " ";
00126       // column 3 : Kinematics
00127       outFile << channel->GetKinematicsName() << " ";
00128       // daughters
00129       for (G4int j=0; j< channel->GetNumberOfDaughters(); j++){
00130         outFile << channel->GetDaughter(j)->GetParticleName() << " ";
00131       }
00132       outFile << G4endl;
00133     }
00134   }
00135 }

void G4TextPPReporter::Print ( const G4String option = ""  )  [virtual]

Implements G4VParticlePropertyReporter.

Definition at line 59 of file G4TextPPReporter.cc.

References G4ParticleTable::FindParticle(), GeneratePropertyTable(), G4ParticleTable::GetParticleTable(), G4VParticlePropertyReporter::pList, and SparseOption().

00060 {
00061   SparseOption( option );
00062 
00063   for (size_t i=0; i< pList.size(); i++){
00064     G4ParticleDefinition* particle  = G4ParticleTable::GetParticleTable()->FindParticle( pList[i]->GetParticleName() ); 
00065 
00066     GeneratePropertyTable(particle);
00067   }
00068 }    

void G4TextPPReporter::SparseOption ( const G4String option  )  [protected]

Definition at line 71 of file G4TextPPReporter.cc.

References baseDir, and G4String::isNull().

Referenced by Print().

00072 {
00073   G4Tokenizer savedToken( option );
00074   
00075   // 1st option : base directory
00076   baseDir = savedToken();
00077   if (!baseDir.isNull()) {
00078     if(baseDir(baseDir.length()-1)!='/') {
00079       baseDir += "/";
00080     }
00081   }
00082 }


Field Documentation

G4String G4TextPPReporter::baseDir [protected]

Definition at line 61 of file G4TextPPReporter.hh.

Referenced by GeneratePropertyTable(), and SparseOption().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:29 2013 for Geant4 by  doxygen 1.4.7