G4ScoringManager Class Reference

#include <G4ScoringManager.hh>


Public Member Functions

 ~G4ScoringManager ()
void RegisterScoreColorMap (G4VScoreColorMap *colorMap)
void Accumulate (G4VHitsCollection *map)
G4VScoringMeshFindMesh (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="")
G4VScoreColorMapGetScoreColorMap (const G4String &mapName)
void ListScoreColorMaps ()
void SetCurrentMesh (G4VScoringMesh *scm)
G4VScoringMeshGetCurrentMesh () const
void CloseCurrentMesh ()
void SetVerboseLevel (G4int vl)
G4int GetVerboseLevel () const
size_t GetNumberOfMesh () const
void RegisterScoringMesh (G4VScoringMesh *scm)
G4VScoringMeshGetMesh (G4int i) const
G4String GetWorldName (G4int i) const
void SetScoreWriter (G4VScoreWriter *sw)

Static Public Member Functions

static G4ScoringManagerGetScoringManager ()
static G4ScoringManagerGetScoringManagerIfExist ()
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