G4ScoringManager Class Reference

#include <G4ScoringManager.hh>


Public Member Functions

 ~G4ScoringManager ()
void RegisterScoreColorMap (G4VScoreColorMap *colorMap)
void Accumulate (G4VHitsCollection *map)
G4VScoringMesh * FindMesh (const G4String &)
void List () const
void Dump () const
void DrawMesh (const G4String &meshName, const G4String &psName, const G4String &colorMapName, G4int axflg=111)
void DrawMesh (const G4String &meshName, const G4String &psName, G4int idxPlane, G4int iColumn, const G4String &colorMapName)
void DumpQuantityToFile (const G4String &meshName, const G4String &psName, const G4String &fileName, const G4String &option="")
void DumpAllQuantitiesToFile (const G4String &meshName, const G4String &fileName, const G4String &option="")
G4VScoreColorMap * GetScoreColorMap (const G4String &mapName)
void ListScoreColorMaps ()
void SetCurrentMesh (G4VScoringMesh *scm)
G4VScoringMesh * GetCurrentMesh () const
void CloseCurrentMesh ()
void SetVerboseLevel (G4int vl)
G4int GetVerboseLevel () const
size_t GetNumberOfMesh () const
void RegisterScoringMesh (G4VScoringMesh *scm)
G4VScoringMesh * GetMesh (G4int i) const
G4String GetWorldName (G4int i) const
void SetScoreWriter (G4VScoreWriter *sw)

Static Public Member Functions

static G4ScoringManager * GetScoringManager ()
static G4ScoringManager * GetScoringManagerIfExist ()
static void SetReplicaLevel (G4int)
static G4int GetReplicaLevel ()

Protected Member Functions

 G4ScoringManager ()


Detailed Description

Definition at line 60 of file G4ScoringManager.hh.


Constructor & Destructor Documentation

G4ScoringManager::G4ScoringManager (  )  [protected]

Definition at line 55 of file G4ScoringManager.cc.

References G4VScoreColorMap::GetName().

00056   : verboseLevel(0),fCurrentMesh(0)
00057 {
00058   fMessenger = new G4ScoringMessenger(this);
00059   fQuantityMessenger = new G4ScoreQuantityMessenger(this);
00060   fColorMapDict = new ColorMapDict();
00061   fDefaultLinearColorMap = new G4DefaultLinearColorMap("defaultLinearColorMap");
00062   (*fColorMapDict)[fDefaultLinearColorMap->GetName()] = fDefaultLinearColorMap;
00063   G4VScoreColorMap * logColorMap = new G4ScoreLogColorMap("logColorMap");
00064   (*fColorMapDict)[logColorMap->GetName()] = logColorMap;
00065   writer = new G4VScoreWriter();
00066 }

G4ScoringManager::~G4ScoringManager (  ) 

Definition at line 68 of file G4ScoringManager.cc.

00069 {
00070   if (writer) { delete writer; }
00071   delete fDefaultLinearColorMap;
00072   delete fColorMapDict;
00073   delete fQuantityMessenger;
00074   delete fMessenger;
00075   delete fSManager;
00076 }


Member Function Documentation

void G4ScoringManager::Accumulate ( G4VHitsCollection *  map  ) 

Definition at line 83 of file G4ScoringManager.cc.

References FindMesh(), G4cout, G4endl, G4VHitsCollection::GetName(), G4VHitsCollection::GetSDname(), and G4InuclParticleNames::sm.

Referenced by G4RunManager::UpdateScoring().

00084 {
00085   G4String wName = map->GetSDname();
00086   G4VScoringMesh* sm = FindMesh(wName);
00087   if(sm == 0) return;
00088   if(verboseLevel>9)
00089   { G4cout << "G4ScoringManager::Accumulate() for " << map->GetSDname() << " / " << map->GetName() << G4endl;
00090     G4cout << "  is calling G4VScoringMesh::Accumulate() of " << sm->GetWorldName() << G4endl; }
00091   sm->Accumulate(static_cast<G4THitsMap<double>*>(map));
00092 }

void G4ScoringManager::CloseCurrentMesh (  )  [inline]

Definition at line 119 of file G4ScoringManager.hh.

Referenced by G4ScoringMessenger::SetNewValue().

00120       { fCurrentMesh = 0; }

void G4ScoringManager::DrawMesh ( const G4String &  meshName,
const G4String &  psName,
G4int  idxPlane,
G4int  iColumn,
const G4String &  colorMapName 
)

Definition at line 145 of file G4ScoringManager.cc.

References G4VScoringMesh::DrawMesh(), FindMesh(), G4cerr, G4endl, and GetScoreColorMap().

00149 {
00150   G4VScoringMesh* mesh = FindMesh(meshName);
00151   if(mesh) 
00152   {
00153     G4VScoreColorMap* colorMap = GetScoreColorMap(colorMapName);
00154     if(!colorMap)
00155     {
00156       G4cerr << "WARNING : Score color map <" << colorMapName << "> is not found. Default linear color map is used." << G4endl;
00157       colorMap = fDefaultLinearColorMap;
00158     }
00159     mesh->DrawMesh(psName,idxPlane,iColumn,colorMap);
00160   } else {
00161     G4cerr << "ERROR : G4ScoringManager::DrawMesh() --- <"
00162            << meshName << "> is not found. Nothing is done." << G4endl;
00163   }
00164 }

void G4ScoringManager::DrawMesh ( const G4String &  meshName,
const G4String &  psName,
const G4String &  colorMapName,
G4int  axflg = 111 
)

Definition at line 125 of file G4ScoringManager.cc.

References G4VScoringMesh::DrawMesh(), FindMesh(), G4cerr, G4endl, and GetScoreColorMap().

Referenced by G4ScoringMessenger::SetNewValue().

00128 {
00129   G4VScoringMesh* mesh = FindMesh(meshName);
00130   if(mesh) 
00131   {
00132     G4VScoreColorMap* colorMap = GetScoreColorMap(colorMapName);
00133     if(!colorMap)
00134     {
00135       G4cerr << "WARNING : Score color map <" << colorMapName << "> is not found. Default linear color map is used." << G4endl;
00136       colorMap = fDefaultLinearColorMap;
00137     }
00138     mesh->DrawMesh(psName,colorMap,axflg);
00139   } else {
00140     G4cerr << "ERROR : G4ScoringManager::DrawMesh() --- <"
00141            << meshName << "> is not found. Nothing is done." << G4endl;
00142   }
00143 }

void G4ScoringManager::Dump (  )  const

Definition at line 118 of file G4ScoringManager.cc.

Referenced by G4ScoringMessenger::SetNewValue().

00119 {
00120   for(MeshVecConstItr itr = fMeshVec.begin(); itr != fMeshVec.end(); itr++) {
00121    (*itr)->Dump();
00122   }
00123 }

void G4ScoringManager::DumpAllQuantitiesToFile ( const G4String &  meshName,
const G4String &  fileName,
const G4String &  option = "" 
)

Definition at line 181 of file G4ScoringManager.cc.

References G4VScoreWriter::DumpAllQuantitiesToFile(), FindMesh(), G4cerr, G4endl, and G4VScoreWriter::SetScoringMesh().

Referenced by G4ScoringMessenger::SetNewValue().

00184 {
00185   G4VScoringMesh* mesh = FindMesh(meshName);
00186   if(mesh) {
00187     writer->SetScoringMesh(mesh);
00188     writer->DumpAllQuantitiesToFile(fileName, option);
00189   } else {
00190     G4cerr << "ERROR : G4ScoringManager::DrawAllQuantitiesToFile() --- <"
00191            << meshName << "> is not found. Nothing is done." << G4endl;
00192   }
00193 }

void G4ScoringManager::DumpQuantityToFile ( const G4String &  meshName,
const G4String &  psName,
const G4String &  fileName,
const G4String &  option = "" 
)

Definition at line 166 of file G4ScoringManager.cc.

References G4VScoreWriter::DumpQuantityToFile(), FindMesh(), G4cerr, G4endl, and G4VScoreWriter::SetScoringMesh().

Referenced by G4ScoringMessenger::SetNewValue().

00170 {
00171   G4VScoringMesh* mesh = FindMesh(meshName);
00172   if(mesh) {
00173     writer->SetScoringMesh(mesh);
00174     writer->DumpQuantityToFile(psName, fileName, option);
00175   } else {
00176     G4cerr << "ERROR : G4ScoringManager::DrawQuantityToFile() --- <"
00177            << meshName << "> is not found. Nothing is done." << G4endl;
00178   }
00179 }

G4VScoringMesh * G4ScoringManager::FindMesh ( const G4String &   ) 

Definition at line 94 of file G4ScoringManager.cc.

References G4cout, G4endl, and G4InuclParticleNames::sm.

Referenced by Accumulate(), G4GMocrenFileSceneHandler::AddSolid(), DrawMesh(), DumpAllQuantitiesToFile(), DumpQuantityToFile(), and G4ScoringMessenger::SetNewValue().

00095 {
00096   G4VScoringMesh* sm = 0;
00097   for(MeshVecItr itr = fMeshVec.begin(); itr != fMeshVec.end(); itr++) {
00098     G4String smName = (*itr)->GetWorldName();
00099     if(wName == smName) {
00100       sm = *itr;
00101       break;
00102     }
00103   }
00104   if(!sm && verboseLevel>9)
00105   { G4cout << "WARNING : G4ScoringManager::FindMesh() --- <" << wName << "> is not found. Null returned." << G4endl; }
00106 
00107   return sm;
00108 }

G4VScoringMesh* G4ScoringManager::GetCurrentMesh (  )  const [inline]

Definition at line 117 of file G4ScoringManager.hh.

Referenced by G4ScoringMessenger::SetNewValue(), and G4ScoreQuantityMessenger::SetNewValue().

00118       { return fCurrentMesh; }

G4VScoringMesh* G4ScoringManager::GetMesh ( G4int  i  )  const [inline]

Definition at line 139 of file G4ScoringManager.hh.

Referenced by G4VSceneHandler::AddCompound(), G4RunManager::ConstructScoringWorlds(), and G4PSHitsModel::DescribeYourselfTo().

00140       { return fMeshVec[i]; }

size_t G4ScoringManager::GetNumberOfMesh (  )  const [inline]

Definition at line 131 of file G4ScoringManager.hh.

Referenced by G4VSceneHandler::AddCompound(), G4RunManager::ConstructScoringWorlds(), G4PSHitsModel::DescribeYourselfTo(), List(), and G4RunManager::UpdateScoring().

00132       { return fMeshVec.size(); }

G4int G4ScoringManager::GetReplicaLevel (  )  [static]

Definition at line 80 of file G4ScoringManager.cc.

00081 { return replicaLevel; }

G4VScoreColorMap * G4ScoringManager::GetScoreColorMap ( const G4String &  mapName  ) 

Definition at line 208 of file G4ScoringManager.cc.

Referenced by DrawMesh(), and G4ScoringMessenger::SetNewValue().

00209 {
00210   ColorMapDictItr mItr = fColorMapDict->find(mapName);
00211   if(mItr == fColorMapDict->end()) { return 0; }
00212   return (mItr->second);
00213 }

G4ScoringManager * G4ScoringManager::GetScoringManager (  )  [static]

Definition at line 43 of file G4ScoringManager.cc.

Referenced by G4GMocrenFileSceneHandler::AddSolid().

00044 {
00045   if(!fSManager)
00046   {
00047     fSManager = new G4ScoringManager;
00048   }
00049   return fSManager;
00050 }

G4ScoringManager * G4ScoringManager::GetScoringManagerIfExist (  )  [static]

Definition at line 52 of file G4ScoringManager.cc.

Referenced by G4VSceneHandler::AddCompound(), G4PhysicsListHelper::AddTransportation(), G4RunManager::ConstructScoringWorlds(), G4PSHitsModel::DescribeYourselfTo(), and G4RunManager::UpdateScoring().

00053 { return fSManager; }

G4int G4ScoringManager::GetVerboseLevel (  )  const [inline]

Definition at line 129 of file G4ScoringManager.hh.

Referenced by G4ScoringMessenger::GetCurrentValue().

00130       { return verboseLevel; }

G4String G4ScoringManager::GetWorldName ( G4int  i  )  const [inline]

Definition at line 141 of file G4ScoringManager.hh.

Referenced by G4RunManager::ConstructScoringWorlds().

00142       { return fMeshVec[i]->GetWorldName(); }

void G4ScoringManager::List (  )  const

Definition at line 110 of file G4ScoringManager.cc.

References G4cout, G4endl, and GetNumberOfMesh().

Referenced by G4ScoringMessenger::SetNewValue().

00111 {
00112   G4cout << "G4ScoringManager has " << GetNumberOfMesh() << " scoring meshes." << G4endl;
00113   for(MeshVecConstItr itr = fMeshVec.begin(); itr != fMeshVec.end(); itr++) {
00114    (*itr)->List();
00115   }
00116 }

void G4ScoringManager::ListScoreColorMaps (  ) 

Definition at line 215 of file G4ScoringManager.cc.

References G4cout, and G4endl.

Referenced by G4ScoringMessenger::SetNewValue().

00216 {
00217   G4cout << "Registered Score Color Maps -------------------------------------------------------" << G4endl;
00218   ColorMapDictItr mItr = fColorMapDict->begin();
00219   for(;mItr!=fColorMapDict->end();mItr++)
00220   { G4cout << "   " << mItr->first; }
00221   G4cout << G4endl;
00222 }

void G4ScoringManager::RegisterScoreColorMap ( G4VScoreColorMap *  colorMap  ) 

Definition at line 195 of file G4ScoringManager.cc.

References G4cerr, G4endl, and G4VScoreColorMap::GetName().

00196 {
00197   if(fColorMapDict->find(colorMap->GetName()) != fColorMapDict->end())
00198   {
00199     G4cerr << "ERROR : G4ScoringManager::RegisterScoreColorMap -- "
00200            << colorMap->GetName() << " has already been registered. Method ignored." << G4endl;
00201   }
00202   else
00203   {
00204     (*fColorMapDict)[colorMap->GetName()] = colorMap;
00205   }
00206 }

void G4ScoringManager::RegisterScoringMesh ( G4VScoringMesh *  scm  )  [inline]

Definition at line 133 of file G4ScoringManager.hh.

References SetCurrentMesh(), and G4VScoringMesh::SetVerboseLevel().

Referenced by G4ScoringMessenger::SetNewValue().

00134       {
00135         scm->SetVerboseLevel(verboseLevel);
00136         fMeshVec.push_back(scm);
00137         SetCurrentMesh(scm);
00138       }

void G4ScoringManager::SetCurrentMesh ( G4VScoringMesh *  scm  )  [inline]

Definition at line 115 of file G4ScoringManager.hh.

Referenced by RegisterScoringMesh(), and G4ScoringMessenger::SetNewValue().

00116       { fCurrentMesh = scm; }

void G4ScoringManager::SetReplicaLevel ( G4int   )  [static]

Definition at line 78 of file G4ScoringManager.cc.

00079 { replicaLevel = lvl; }

void G4ScoringManager::SetScoreWriter ( G4VScoreWriter *  sw  )  [inline]

Definition at line 145 of file G4ScoringManager.hh.

References G4VScoreWriter::SetVerboseLevel().

00146       {
00147         if(writer) { delete writer; }
00148         writer = sw;
00149         if(writer) writer->SetVerboseLevel(verboseLevel);
00150       }

void G4ScoringManager::SetVerboseLevel ( G4int  vl  )  [inline]

Definition at line 121 of file G4ScoringManager.hh.

References G4VScoreWriter::SetVerboseLevel().

Referenced by G4ScoringMessenger::SetNewValue().

00122       {
00123         verboseLevel = vl;
00124         for(MeshVecItr itr = fMeshVec.begin(); itr != fMeshVec.end(); itr++) {
00125          (*itr)->SetVerboseLevel(vl);
00126         }
00127         if(writer) writer->SetVerboseLevel(vl);
00128       }


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