Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VisManager Class Referenceabstract

#include <G4VisManager.hh>

+ Inheritance diagram for G4VisManager:

Classes

struct  UserVisAction
 

Public Types

enum  Verbosity {
  quiet , startup , errors , warnings ,
  confirmations , parameters , all
}
 

Public Member Functions

virtual ~G4VisManager ()
 
void Initialise ()
 
void Initialize ()
 
void RegisterRunDurationUserVisAction (const G4String &name, G4VUserVisAction *, const G4VisExtent &=G4VisExtent())
 
void RegisterEndOfEventUserVisAction (const G4String &name, G4VUserVisAction *, const G4VisExtent &=G4VisExtent())
 
void RegisterEndOfRunUserVisAction (const G4String &name, G4VUserVisAction *, const G4VisExtent &=G4VisExtent())
 
G4bool RegisterGraphicsSystem (G4VGraphicsSystem *)
 
void RegisterModelFactory (G4TrajDrawModelFactory *factory)
 
void RegisterModel (G4VTrajectoryModel *model)
 
void RegisterModelFactory (G4TrajFilterFactory *factory)
 
void RegisterModel (G4VFilter< G4VTrajectory > *filter)
 
void RegisterModelFactory (G4HitFilterFactory *factory)
 
void RegisterModel (G4VFilter< G4VHit > *filter)
 
void RegisterModelFactory (G4DigiFilterFactory *factory)
 
void RegisterModel (G4VFilter< G4VDigi > *filter)
 
void SelectTrajectoryModel (const G4String &model)
 
void RegisterMessenger (G4UImessenger *messenger)
 
void Draw (const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4Polyhedron &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4Polyline &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4Polymarker &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4Square &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4Text &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Polyhedron &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Polyline &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Polymarker &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Square &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw2D (const G4Text &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4VTrajectory &)
 
void Draw (const G4VHit &)
 
void Draw (const G4VDigi &)
 
void Draw (const G4LogicalVolume &, const G4VisAttributes &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4VPhysicalVolume &, const G4VisAttributes &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void Draw (const G4VSolid &, const G4VisAttributes &, const G4Transform3D &objectTransformation=G4Transform3D())
 
void DrawGeometry (G4VPhysicalVolume *, const G4Transform3D &t=G4Transform3D())
 
void BeginDraw (const G4Transform3D &objectTransformation=G4Transform3D())
 
void EndDraw ()
 
void BeginDraw2D (const G4Transform3D &objectTransformation=G4Transform3D())
 
void EndDraw2D ()
 
void GeometryHasChanged ()
 
void IgnoreStateChanges (G4bool)
 
void NotifyHandlers ()
 
void DispatchToModel (const G4VTrajectory &)
 
G4bool FilterTrajectory (const G4VTrajectory &)
 
G4bool FilterHit (const G4VHit &)
 
G4bool FilterDigi (const G4VDigi &)
 
void CreateSceneHandler (const G4String &name="")
 
void CreateViewer (const G4String &name="", const G4String &XGeometry="")
 
void Enable ()
 
void Disable ()
 
G4bool IsEnabled () const
 
const G4VTrajectoryModelCurrentTrajDrawModel () const
 
const std::vector< UserVisAction > & GetRunDurationUserVisActions () const
 
const std::vector< UserVisAction > & GetEndOfEventUserVisActions () const
 
const std::vector< UserVisAction > & GetEndOfRunUserVisActions () const
 
const std::map< G4VUserVisAction *, G4VisExtent > & GetUserVisActionExtents () const
 
G4VGraphicsSystemGetCurrentGraphicsSystem () const
 
G4SceneGetCurrentScene () const
 
G4VSceneHandlerGetCurrentSceneHandler () const
 
G4VViewerGetCurrentViewer () const
 
const G4GraphicsSystemListGetAvailableGraphicsSystems ()
 
const G4SceneHandlerListGetAvailableSceneHandlers () const
 
const G4SceneListGetSceneList () const
 
G4bool GetTransientsDrawnThisRun () const
 
G4bool GetTransientsDrawnThisEvent () const
 
G4bool GetDrawEventOnlyIfToBeKept () const
 
const G4EventGetRequestedEvent () const
 
G4int GetNKeepRequests () const
 
G4bool GetReviewingKeptEvents () const
 
G4bool GetAbortReviewKeptEvents () const
 
G4bool GetReviewingPlots () const
 
G4bool GetAbortReviewPlots () const
 
const G4ViewParametersGetDefaultViewParameters () const
 
const G4StringGetDefaultGraphicsSystemName () const
 
const G4StringGetDefaultXGeometryString () const
 
const G4StringGetDefaultGraphicsSystemBasis () const
 
const G4StringGetDefaultXGeometryStringBasis () const
 
void SetCurrentGraphicsSystem (G4VGraphicsSystem *)
 
void SetCurrentScene (G4Scene *)
 
void SetCurrentSceneHandler (G4VSceneHandler *)
 
void SetCurrentViewer (G4VViewer *)
 
G4SceneHandlerListSetAvailableSceneHandlers ()
 
G4SceneListSetSceneList ()
 
void SetVerboseLevel (G4int)
 
void SetVerboseLevel (const G4String &)
 
void SetVerboseLevel (Verbosity)
 
void SetEventRefreshing (G4bool)
 
void ResetTransientsDrawnFlags ()
 
void SetTransientsDrawnThisRun (G4bool)
 
void SetTransientsDrawnThisEvent (G4bool)
 
void SetDrawEventOnlyIfToBeKept (G4bool)
 
void SetRequestedEvent (const G4Event *)
 
void SetReviewingKeptEvents (G4bool)
 
void SetAbortReviewKeptEvents (G4bool)
 
void SetReviewingPlots (G4bool)
 
void SetAbortReviewPlots (G4bool)
 
void SetDefaultViewParameters (const G4ViewParameters &)
 
void SetDefaultGraphicsSystemName (const G4String &)
 
void SetDefaultXGeometryString (const G4String &)
 
void SetDefaultGraphicsSystemBasis (const G4String &)
 
void SetDefaultXGeometryStringBasis (const G4String &)
 
G4String ViewerShortName (const G4String &viewerName) const
 
G4VViewerGetViewer (const G4String &viewerName) const
 
void PrintAvailableGraphicsSystems (Verbosity, std::ostream &=G4cout) const
 
- Public Member Functions inherited from G4VVisManager
 G4VVisManager ()
 
virtual ~G4VVisManager ()
 

Static Public Member Functions

static G4VisManagerGetInstance ()
 
static Verbosity GetVerbosity ()
 
static Verbosity GetVerbosityValue (const G4String &)
 
static Verbosity GetVerbosityValue (G4int)
 
static G4String VerbosityString (Verbosity)
 
- Static Public Member Functions inherited from G4VVisManager
static G4VVisManagerGetConcreteInstance ()
 

Static Public Attributes

static std::vector< G4StringVerbosityGuidanceStrings
 

Protected Member Functions

 G4VisManager (const G4String &verbosityString="warnings")
 
virtual void RegisterGraphicsSystems ()=0
 
virtual void RegisterModelFactories ()
 
void RegisterMessengers ()
 

Protected Attributes

const G4int fVerbose
 
G4String fDefaultGraphicsSystemName
 
G4String fDefaultXGeometryString
 
G4String fDefaultGraphicsSystemBasis
 
G4String fDefaultXGeometryStringBasis
 

Static Protected Attributes

static Verbosity fVerbosity = G4VisManager::warnings
 
- Static Protected Attributes inherited from G4VVisManager
static G4VVisManagerfpConcreteInstance = nullptr
 

Friends

class G4VSceneHandler
 
class G4VViewer
 
class G4VisStateDependent
 
class G4VisCommandList
 
std::ostream & operator<< (std::ostream &os, const G4VGraphicsSystem &gs)
 
std::ostream & operator<< (std::ostream &os, const G4VSceneHandler &sh)
 

Additional Inherited Members

- Static Protected Member Functions inherited from G4VVisManager
static void SetConcreteInstance (G4VVisManager *)
 

Detailed Description

Definition at line 123 of file G4VisManager.hh.

Member Enumeration Documentation

◆ Verbosity

Enumerator
quiet 
startup 
errors 
warnings 
confirmations 
parameters 
all 

Definition at line 137 of file G4VisManager.hh.

137 {
138 quiet, // Nothing is printed.
139 startup, // Startup and endup messages are printed...
140 errors, // ...and errors...
141 warnings, // ...and warnings...
142 confirmations, // ...and confirming messages...
143 parameters, // ...and parameters of scenes and views...
144 all // ...and everything available.
145 };

Constructor & Destructor Documentation

◆ G4VisManager()

G4VisManager::G4VisManager ( const G4String & verbosityString = "warnings")
protected

Definition at line 100 of file G4VisManager.cc.

101: fVerbose (1)
102, fDefaultGraphicsSystemName("OGL") // Override in G4VisExecutive
103, fDefaultXGeometryString ("600x600-0+0") // Override in G4VisExecutive
104, fDefaultGraphicsSystemBasis ("G4VisManager initialisation")
105, fDefaultXGeometryStringBasis("G4VisManager initialisation")
106, fInitialised (false)
107, fpGraphicsSystem (0)
108, fpScene (0)
109, fpSceneHandler (0)
110, fpViewer (0)
111, fpStateDependent (0)
112, fEventRefreshing (false)
113, fTransientsDrawnThisRun (false)
114, fTransientsDrawnThisEvent (false)
115, fNoOfEventsDrawnThisRun (0)
116, fNKeepRequests (0)
117, fEventKeepingSuspended (false)
118, fDrawEventOnlyIfToBeKept (false)
119, fpRequestedEvent (0)
120, fReviewingKeptEvents (false)
121, fAbortReviewKeptEvents (false)
122, fReviewingPlots (false)
123, fAbortReviewPlots (false)
124, fIsDrawGroup (false)
125, fDrawGroupNestingDepth (0)
126, fIgnoreStateChanges (false)
127#ifdef G4MULTITHREADED
128, fMaxEventQueueSize (100)
129, fWaitOnEventQueueFull (true)
130#endif
131// All other objects use default constructors.
132{
133 fpTrajDrawModelMgr = new G4VisModelManager<G4VTrajectoryModel>("/vis/modeling/trajectories");
134 fpTrajFilterMgr = new G4VisFilterManager<G4VTrajectory>("/vis/filtering/trajectories");
135 fpHitFilterMgr = new G4VisFilterManager<G4VHit>("/vis/filtering/hits");
136 fpDigiFilterMgr = new G4VisFilterManager<G4VDigi>("/vis/filtering/digi");
137
139 ("Simple graded message scheme - digit or string (1st character defines):");
141 (" 0) quiet, // Nothing is printed.");
143 (" 1) startup, // Startup and endup messages are printed...");
145 (" 2) errors, // ...and errors...");
147 (" 3) warnings, // ...and warnings...");
149 (" 4) confirmations, // ...and confirming messages...");
151 (" 5) parameters, // ...and parameters of scenes and views...");
153 (" 6) all // ...and everything available.");
154
155 if (fpInstance) {
157 ("G4VisManager::G4VisManager",
158 "visman0001", FatalException,
159 "Attempt to Construct more than one VisManager");
160 }
161
162 fpInstance = this;
164
165 fpStateDependent = new G4VisStateDependent (this);
166 // No need to delete this; G4StateManager does this.
167
168 fVerbosity = GetVerbosityValue(verbosityString);
169 if (fVerbosity >= startup) {
170 G4cout
171 << "Visualization Manager instantiating with verbosity \""
173 << "\"..." << G4endl;
174 }
175
176 // Note: The specific graphics systems must be instantiated in a
177 // higher level library to avoid circular dependencies. Also,
178 // some specifically need additional external libararies that the
179 // user must supply. Therefore we ask the user to implement
180 // RegisterGraphicsSystems() and RegisterModelFactories()
181 // in a subclass. We have to wait for the subclass to instantiate
182 // so RegisterGraphicsSystems() cannot be called from this
183 // constructor; it is called from Initialise(). So we ask the
184 // user:
185 // (a) to write a subclass and implement RegisterGraphicsSystems()
186 // and RegisterModelFactories(). See
187 // visualization/include/G4VisExecutive.hh/icc as an example.
188 // (b) instantiate the subclass.
189 // (c) invoke the Initialise() method of the subclass.
190 // For example:
191 // ...
192 // // Instantiate and initialise Visualization Manager.
193 // G4VisManager* visManager = new G4VisExecutive;
194 // visManager -> SetVerboseLevel (Verbose);
195 // visManager -> Initialise ();
196 // // (Don't forget to delete visManager;)
197 // ...
198
199 // Make top level command directory...
200 // vis commands should *not* be broadcast to workers
201 G4bool propagateToWorkers;
202 auto directory = new G4UIdirectory ("/vis/",propagateToWorkers=false);
203 directory -> SetGuidance ("Visualization commands.");
204 // Request commands in name order
205 directory -> Sort(); // Ordering propagates to sub-directories
206 fDirectoryList.push_back (directory);
207
208 // Instantiate *basic* top level commands so that they can be used
209 // immediately after instantiation of the vis manager. Other top
210 // level and lower level commands are instantiated later in
211 // RegisterMessengers.
212 G4VVisCommand::SetVisManager (this); // Sets shared pointer
215}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
bool G4bool
Definition G4Types.hh:86
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
static void SetVisManager(G4VisManager *pVisManager)
static void SetConcreteInstance(G4VVisManager *)
G4String fDefaultXGeometryStringBasis
static Verbosity fVerbosity
static std::vector< G4String > VerbosityGuidanceStrings
static G4String VerbosityString(Verbosity)
G4String fDefaultGraphicsSystemBasis
void RegisterMessenger(G4UImessenger *messenger)
G4String fDefaultXGeometryString
G4String fDefaultGraphicsSystemName
friend class G4VisStateDependent
static Verbosity GetVerbosityValue(const G4String &)
const G4int fVerbose

◆ ~G4VisManager()

G4VisManager::~G4VisManager ( )
virtual

Definition at line 217 of file G4VisManager.cc.

218{
220 UImanager->SetCoutDestination(nullptr);
221 std::size_t i;
222 for (i = 0; i < fSceneList.size (); ++i) {
223 delete fSceneList[i];
224 }
225 for (i = 0; i < fAvailableSceneHandlers.size (); ++i) {
226 if (fAvailableSceneHandlers[i] != NULL) {
227 delete fAvailableSceneHandlers[i];
228 }
229 }
230 for (i = 0; i < fAvailableGraphicsSystems.size (); ++i) {
231 if (fAvailableGraphicsSystems[i]) {
232 delete fAvailableGraphicsSystems[i];
233 }
234 }
235 if (fVerbosity >= startup) {
236 G4cout << "Graphics systems deleted." << G4endl;
237 G4cout << "Visualization Manager deleting..." << G4endl;
238 }
239 for (i = 0; i < fMessengerList.size (); ++i) {
240 delete fMessengerList[i];
241 }
242 for (i = 0; i < fDirectoryList.size (); ++i) {
243 delete fDirectoryList[i];
244 }
245
246 delete fpDigiFilterMgr;
247 delete fpHitFilterMgr;
248 delete fpTrajFilterMgr;
249 delete fpTrajDrawModelMgr;
250 fpInstance = 0;
251}
void SetCoutDestination(G4UIsession *const value)
static G4UImanager * GetUIpointer()

Member Function Documentation

◆ BeginDraw()

void G4VisManager::BeginDraw ( const G4Transform3D & objectTransformation = G4Transform3D())
virtual

Implements G4VVisManager.

Definition at line 913 of file G4VisManager.cc.

914{
915#ifdef G4MULTITHREADED
916 if (G4Threading::IsWorkerThread()) return;
917#endif
918 fDrawGroupNestingDepth++;
919 if (fDrawGroupNestingDepth > 1) {
921 ("G4VisManager::BeginDraw",
922 "visman0008", JustWarning,
923 "Nesting detected. It is illegal to nest Begin/EndDraw."
924 "\n Ignored");
925 return;
926 }
927 if (IsValidView ()) {
928 ClearTransientStoreIfMarked();
929 fpSceneHandler -> BeginPrimitives (objectTransform);
930 fIsDrawGroup = true;
931 }
932}
@ JustWarning
G4bool IsWorkerThread()

◆ BeginDraw2D()

void G4VisManager::BeginDraw2D ( const G4Transform3D & objectTransformation = G4Transform3D())
virtual

Implements G4VVisManager.

Definition at line 950 of file G4VisManager.cc.

951{
952#ifdef G4MULTITHREADED
953 if (G4Threading::IsWorkerThread()) return;
954#endif
955 fDrawGroupNestingDepth++;
956 if (fDrawGroupNestingDepth > 1) {
958 ("G4VisManager::BeginDraw2D",
959 "visman0009", JustWarning,
960 "Nesting detected. It is illegal to nest Begin/EndDraw2D."
961 "\n Ignored");
962 return;
963 }
964 if (IsValidView ()) {
965 ClearTransientStoreIfMarked();
966 fpSceneHandler -> BeginPrimitives2D (objectTransform);
967 fIsDrawGroup = true;
968 }
969}

◆ CreateSceneHandler()

void G4VisManager::CreateSceneHandler ( const G4String & name = "")

Definition at line 1230 of file G4VisManager.cc.

1230 {
1231 if (!fInitialised) Initialise ();
1232 if (fpGraphicsSystem) {
1233 G4VSceneHandler* pSceneHandler =
1234 fpGraphicsSystem -> CreateSceneHandler (name);
1235 if (pSceneHandler) {
1236 fAvailableSceneHandlers.push_back (pSceneHandler);
1237 fpSceneHandler = pSceneHandler; // Make current.
1238 }
1239 else {
1240 if (fVerbosity >= errors) {
1241 G4warn << "ERROR in G4VisManager::CreateSceneHandler during "
1242 << fpGraphicsSystem -> GetName ()
1243 << " scene handler creation.\n No action taken."
1244 << G4endl;
1245 }
1246 }
1247 }
1248 else PrintInvalidPointers ();
1249}
#define G4warn
Definition G4Scene.cc:41
void CreateSceneHandler(const G4String &name="")

Referenced by CreateSceneHandler().

◆ CreateViewer()

void G4VisManager::CreateViewer ( const G4String & name = "",
const G4String & XGeometry = "" )

Definition at line 1251 of file G4VisManager.cc.

1253{
1254
1255 if (!fInitialised) Initialise ();
1256
1257 if (!fpSceneHandler) {
1258 PrintInvalidPointers ();
1259 return;
1260 }
1261
1262 G4VViewer* p = fpGraphicsSystem -> CreateViewer (*fpSceneHandler, name);
1263
1264 if (!p) {
1265 if (fVerbosity >= errors) {
1266 G4warn << "ERROR in G4VisManager::CreateViewer: null pointer during "
1267 << fpGraphicsSystem -> GetName ()
1268 << " viewer creation.\n No action taken."
1269 << G4endl;
1270 }
1271 return;
1272 }
1273
1274 if (p -> GetViewId() < 0) {
1275 if (fVerbosity >= errors) {
1276 G4warn << "ERROR in G4VisManager::CreateViewer during "
1277 << fpGraphicsSystem -> GetName ()
1278 << " viewer instantiation.\n No action taken."
1279 << G4endl;
1280 }
1281 return;
1282 }
1283
1284 // Viewer is created, now we can set geometry parameters
1285 // Before 12/2008, it was done in G4VViewer.cc but it did not have to be there!
1286
1287 G4ViewParameters initialvp = p -> GetViewParameters();
1288 initialvp.SetXGeometryString(XGeometry); //parse string and store parameters
1289 p -> SetViewParameters(initialvp);
1290 p -> Initialise (); // (Viewer itself may change view parameters further.)
1291 if (p -> GetViewId() < 0) {
1292 if (fVerbosity >= errors) {
1293 G4warn << "ERROR in G4VisManager::CreateViewer during "
1294 << fpGraphicsSystem -> GetName ()
1295 << " viewer initialisation.\n No action taken."
1296 << G4endl;
1297 }
1298 return;
1299 }
1300
1301 fpViewer = p; // Make current.
1302 fpSceneHandler -> AddViewerToList (fpViewer);
1303 fpSceneHandler -> SetCurrentViewer (fpViewer);
1304 if (fVerbosity >= confirmations) {
1305 G4cout << "G4VisManager::CreateViewer: new viewer created."
1306 << G4endl;
1307 }
1308
1309 const G4ViewParameters& vp = fpViewer->GetViewParameters();
1310 if (fVerbosity >= parameters) {
1311 G4cout << " view parameters are:\n " << vp << G4endl;
1312 }
1313
1314 if (vp.IsCulling () && vp.IsCullingInvisible ()) {
1315 static G4bool warned = false;
1316 if (fVerbosity >= confirmations) {
1317 if (!warned) {
1318 G4cout <<
1319 "NOTE: objects with visibility flag set to \"false\""
1320 " will not be drawn!"
1321 "\n \"/vis/viewer/set/culling global false\" to Draw such objects."
1322 "\n Also see other \"/vis/viewer/set\" commands."
1323 << G4endl;
1324 warned = true;
1325 }
1326 }
1327 }
1328 if (vp.IsCullingCovered ()) {
1329 static G4bool warned = false;
1330 if (fVerbosity >= warnings) {
1331 if (!warned) {
1332 G4warn <<
1333 "WARNING: covered objects in solid mode will not be rendered!"
1334 "\n \"/vis/viewer/set/culling coveredDaughters false\" to reverse this."
1335 "\n Also see other \"/vis/viewer/set\" commands."
1336 << G4endl;
1337 warned = true;
1338 }
1339 }
1340 }
1341}
const G4ViewParameters & GetViewParameters() const
void SetXGeometryString(const G4String &)
G4bool IsCulling() const
G4bool IsCullingInvisible() const
G4bool IsCullingCovered() const
void SetCurrentViewer(G4VViewer *)
void CreateViewer(const G4String &name="", const G4String &XGeometry="")

Referenced by CreateViewer().

◆ CurrentTrajDrawModel()

const G4VTrajectoryModel * G4VisManager::CurrentTrajDrawModel ( ) const

Definition at line 842 of file G4VisManager.cc.

843{
844 assert (0 != fpTrajDrawModelMgr);
845
846 const G4VTrajectoryModel* model = fpTrajDrawModelMgr->Current();
847
848 if (0 == model) {
849 // No model was registered with the trajectory model manager.
850 // Use G4TrajectoryDrawByCharge as a fallback.
851 fpTrajDrawModelMgr->Register(new G4TrajectoryDrawByCharge("DefaultModel"));
852 if (fVerbosity >= warnings) {
853 G4warn<<"G4VisManager: Using G4TrajectoryDrawByCharge as fallback trajectory model."<<G4endl;
854 G4warn<<"See commands in /vis/modeling/trajectories/ for other options."<<G4endl;
855 }
856 }
857
858 model = fpTrajDrawModelMgr->Current();
859 assert (0 != model); // Should definitely exist now
860
861 return model;
862}
const Model * Current() const

Referenced by G4HepRepFileSceneHandler::BeginModeling(), and DispatchToModel().

◆ Disable()

void G4VisManager::Disable ( )

Definition at line 773 of file G4VisManager.cc.

773 {
775 if (fVerbosity >= confirmations) {
776 G4cout <<
777 "G4VisManager::Disable: visualization disabled."
778 "\n The pointer returned by GetConcreteInstance will be zero."
779 "\n Note that it will become enabled after some valid vis commands."
780 << G4endl;
781 }
782 if (fVerbosity >= warnings) {
783 G4int currentTrajectoryType =
785 if (currentTrajectoryType > 0) {
786 G4warn <<
787 "You may wish to disable trajectory production too:"
788 "\n \"/tracking/storeTrajectory 0\""
789 "\nbut don't forget to re-enable with"
790 "\n \"/vis/enable\""
791 "\n \"/tracking/storeTrajectory " << currentTrajectoryType
792 << "\"\n and maybe \"/vis/viewer/rebuild\""
793 << G4endl;
794 }
795 }
796}
int G4int
Definition G4Types.hh:85
static G4RunManagerKernel * GetRunManagerKernel()
G4TrackingManager * GetTrackingManager() const
G4int GetStoreTrajectory() const

Referenced by G4VisCommandEnable::SetNewValue(), G4VisCommandPlot::SetNewValue(), G4VisCommandReviewKeptEvents::SetNewValue(), and G4VisCommandReviewPlots::SetNewValue().

◆ DispatchToModel()

void G4VisManager::DispatchToModel ( const G4VTrajectory & trajectory)
virtual

Implements G4VVisManager.

Definition at line 1496 of file G4VisManager.cc.

1497{
1498 G4bool visible(true);
1499
1500 // See if trajectory passes filter
1501 G4bool passed = FilterTrajectory(trajectory);
1502
1503 if (!passed) {
1504 // Draw invisible trajectory if trajectory failed filter and
1505 // are filtering in soft mode
1506 if (fpTrajFilterMgr->GetMode() == FilterMode::Soft) visible = false;
1507 else {return;}
1508 }
1509
1510 // Go on to draw trajectory
1511 assert (0 != fpTrajDrawModelMgr);
1512
1513 const G4VTrajectoryModel* trajectoryModel = CurrentTrajDrawModel();
1514
1515 assert (0 != trajectoryModel); // Should exist
1516
1517 if (IsValidView()) {
1518 trajectoryModel->Draw(trajectory, visible);
1519 }
1520}
virtual void Draw(const G4VTrajectory &trajectory, const G4bool &visible=true) const =0
FilterMode::Mode GetMode() const
const G4VTrajectoryModel * CurrentTrajDrawModel() const
G4bool FilterTrajectory(const G4VTrajectory &)

◆ Draw() [1/12]

void G4VisManager::Draw ( const G4Circle & circle,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1033 of file G4VisManager.cc.

1035{
1036 DrawT (circle, objectTransform);
1037}

Referenced by Draw(), Draw(), G4VVisCommand::DrawExtent(), and G4VisCommandsTouchable::SetNewValue().

◆ Draw() [2/12]

void G4VisManager::Draw ( const G4LogicalVolume & logicalVol,
const G4VisAttributes & attribs,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1164 of file G4VisManager.cc.

1166 {
1167#ifdef G4MULTITHREADED
1168 if (G4Threading::IsWorkerThread()) return;
1169#endif
1170 // Find corresponding solid.
1171 G4VSolid* pSol = logicalVol.GetSolid ();
1172 Draw (*pSol, attribs, objectTransform);
1173}
G4VSolid * GetSolid() const
void Draw(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())

◆ Draw() [3/12]

void G4VisManager::Draw ( const G4Polyhedron & polyhedron,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1039 of file G4VisManager.cc.

1041{
1042 DrawT (polyhedron, objectTransform);
1043}

◆ Draw() [4/12]

void G4VisManager::Draw ( const G4Polyline & line,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1045 of file G4VisManager.cc.

1047{
1048 DrawT (line, objectTransform);
1049}

◆ Draw() [5/12]

void G4VisManager::Draw ( const G4Polymarker & polymarker,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1051 of file G4VisManager.cc.

1053{
1054 DrawT (polymarker, objectTransform);
1055}

◆ Draw() [6/12]

void G4VisManager::Draw ( const G4Square & square,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1057 of file G4VisManager.cc.

1059{
1060 DrawT (square, objectTransform);
1061}

◆ Draw() [7/12]

void G4VisManager::Draw ( const G4Text & text,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1063 of file G4VisManager.cc.

1065{
1066 DrawT (text, objectTransform);
1067}

◆ Draw() [8/12]

void G4VisManager::Draw ( const G4VDigi & digi)
virtual

Implements G4VVisManager.

Definition at line 1119 of file G4VisManager.cc.

1119 {
1120#ifdef G4MULTITHREADED
1121 if (G4Threading::IsWorkerThread()) return;
1122#endif
1123 if (fIsDrawGroup) {
1124 fpSceneHandler -> AddCompound (digi);
1125 } else {
1126 if (IsValidView ()) {
1127 ClearTransientStoreIfMarked();
1128 fpSceneHandler -> AddCompound (digi);
1129 }
1130 }
1131}

◆ Draw() [9/12]

void G4VisManager::Draw ( const G4VHit & hit)
virtual

Implements G4VVisManager.

Definition at line 1105 of file G4VisManager.cc.

1105 {
1106#ifdef G4MULTITHREADED
1107 if (G4Threading::IsWorkerThread()) return;
1108#endif
1109 if (fIsDrawGroup) {
1110 fpSceneHandler -> AddCompound (hit);
1111 } else {
1112 if (IsValidView ()) {
1113 ClearTransientStoreIfMarked();
1114 fpSceneHandler -> AddCompound (hit);
1115 }
1116 }
1117}

◆ Draw() [10/12]

void G4VisManager::Draw ( const G4VPhysicalVolume & physicalVol,
const G4VisAttributes & attribs,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1195 of file G4VisManager.cc.

1197 {
1198#ifdef G4MULTITHREADED
1199 if (G4Threading::IsWorkerThread()) return;
1200#endif
1201 // Note: It is tempting to use a temporary model here, as for
1202 // trajectories, in order to get at the G4Atts of the physical
1203 // volume. I tried it (JA). But it's not easy to pass the
1204 // vis attributes. Also other aspects of the model seem not to
1205 // be properly set up. So, the idea has been abandoned for the time
1206 // being. The model pointer will be null. So when picking there
1207 // will be no G4Atts from this physical volume.
1208 //
1209 // If this is called from DrawHit, for example, the user may G4Atts to the
1210 // hit and these will be available with "/vis/scene/add/hits".
1211 //
1212 // Find corresponding logical volume and solid.
1213 G4LogicalVolume* pLV = physicalVol.GetLogicalVolume ();
1214 G4VSolid* pSol = pLV -> GetSolid ();
1215 Draw (*pSol, attribs, objectTransform);
1216}
G4LogicalVolume * GetLogicalVolume() const

◆ Draw() [11/12]

void G4VisManager::Draw ( const G4VSolid & solid,
const G4VisAttributes & attribs,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1175 of file G4VisManager.cc.

1177 {
1178#ifdef G4MULTITHREADED
1179 if (G4Threading::IsWorkerThread()) return;
1180#endif
1181 if (fIsDrawGroup) {
1182 fpSceneHandler -> PreAddSolid (objectTransform, attribs);
1183 solid.DescribeYourselfTo (*fpSceneHandler);
1184 fpSceneHandler -> PostAddSolid ();
1185 } else {
1186 if (IsValidView ()) {
1187 ClearTransientStoreIfMarked();
1188 fpSceneHandler -> PreAddSolid (objectTransform, attribs);
1189 solid.DescribeYourselfTo (*fpSceneHandler);
1190 fpSceneHandler -> PostAddSolid ();
1191 }
1192 }
1193}
virtual void DescribeYourselfTo(G4VGraphicsScene &scene) const =0

◆ Draw() [12/12]

void G4VisManager::Draw ( const G4VTrajectory & traj)
virtual

Implements G4VVisManager.

Definition at line 1133 of file G4VisManager.cc.

1133 {
1134#ifdef G4MULTITHREADED
1135 if (G4Threading::IsWorkerThread()) return;
1136#endif
1137 // A trajectory needs a trajectories model to provide G4Atts, etc.
1138 static G4TrajectoriesModel trajectoriesModel;
1139 trajectoriesModel.SetCurrentTrajectory(&traj);
1141 const G4Run* currentRun = runManager->GetCurrentRun();
1142 if (currentRun) {
1143 trajectoriesModel.SetRunID(currentRun->GetRunID());
1144 }
1145 const G4Event* currentEvent =
1147 if (currentEvent) {
1148 trajectoriesModel.SetEventID(currentEvent->GetEventID());
1149 }
1150 if (fIsDrawGroup) {
1151 fpSceneHandler -> SetModel (&trajectoriesModel);
1152 fpSceneHandler -> AddCompound (traj);
1153 fpSceneHandler -> SetModel (0);
1154 } else {
1155 if (IsValidView ()) {
1156 ClearTransientStoreIfMarked();
1157 fpSceneHandler -> SetModel (&trajectoriesModel);
1158 fpSceneHandler -> AddCompound (traj);
1159 fpSceneHandler -> SetModel (0);
1160 }
1161 }
1162}
const G4Event * GetConstCurrentEvent()
static G4EventManager * GetEventManager()
G4int GetEventID() const
Definition G4Event.hh:123
static G4RunManager * GetMasterRunManager()
const G4Run * GetCurrentRun() const
Definition G4Run.hh:49
G4int GetRunID() const
Definition G4Run.hh:86
void SetCurrentTrajectory(const G4VTrajectory *pTraj)
void SetEventID(G4int eventID)
void SetRunID(G4int runID)

◆ Draw2D() [1/6]

void G4VisManager::Draw2D ( const G4Circle & circle,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1069 of file G4VisManager.cc.

1071{
1072 DrawT2D (circle, objectTransform);
1073}

◆ Draw2D() [2/6]

void G4VisManager::Draw2D ( const G4Polyhedron & polyhedron,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1075 of file G4VisManager.cc.

1077{
1078 DrawT2D (polyhedron, objectTransform);
1079}

◆ Draw2D() [3/6]

void G4VisManager::Draw2D ( const G4Polyline & line,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1081 of file G4VisManager.cc.

1083{
1084 DrawT2D (line, objectTransform);
1085}

◆ Draw2D() [4/6]

void G4VisManager::Draw2D ( const G4Polymarker & polymarker,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1087 of file G4VisManager.cc.

1089{
1090 DrawT2D (polymarker, objectTransform);
1091}

◆ Draw2D() [5/6]

void G4VisManager::Draw2D ( const G4Square & square,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1093 of file G4VisManager.cc.

1095{
1096 DrawT2D (square, objectTransform);
1097}

◆ Draw2D() [6/6]

void G4VisManager::Draw2D ( const G4Text & text,
const G4Transform3D & objectTransformation = G4Transform3D() )
virtual

Implements G4VVisManager.

Definition at line 1099 of file G4VisManager.cc.

1101{
1102 DrawT2D (text, objectTransform);
1103}

◆ DrawGeometry()

void G4VisManager::DrawGeometry ( G4VPhysicalVolume * v,
const G4Transform3D & t = G4Transform3D() )
virtual

Reimplemented from G4VVisManager.

Definition at line 1218 of file G4VisManager.cc.

1221{
1222 auto modelingParameters = fpSceneHandler->CreateModelingParameters();
1224 const G4bool useFullExtent = true;
1225 G4PhysicalVolumeModel aPVModel(v,depth,t,modelingParameters,useFullExtent);
1226 aPVModel.DescribeYourselfTo(*fpSceneHandler);
1227 delete modelingParameters;
1228}
G4ModelingParameters * CreateModelingParameters()

◆ Enable()

void G4VisManager::Enable ( )

Definition at line 738 of file G4VisManager.cc.

738 {
739 if (IsValidView ()) {
741 if (fVerbosity >= confirmations) {
742 G4cout << "G4VisManager::Enable: visualization enabled." << G4endl;
743 }
744 if (fVerbosity >= warnings) {
745 std::size_t nKeptEvents = 0;
747 if (run) nKeptEvents = run->GetEventVector()->size();
748 G4String isare("are"),plural("s");
749 if (nKeptEvents == 1) {isare = "is"; plural = "";}
750 G4cout <<
751 "There " << isare << ' ' << nKeptEvents << " kept event" << plural << '.'
752 << G4endl;
753 if (nKeptEvents > 0) {
754 G4cout <<
755 " \"/vis/reviewKeptEvents\" to review one by one."
756 "\n To see accumulated, \"/vis/enable\", then \"/vis/viewer/flush\" or \"/vis/viewer/rebuild\"."
757 << G4endl;
758 }
759 PrintListOfPlots();
760 }
761 }
762 else {
763 if (fVerbosity >= warnings) {
764 G4warn <<
765 "G4VisManager::Enable: WARNING: visualization remains disabled for"
766 "\n above reasons. Rectifying with valid vis commands will"
767 "\n automatically enable."
768 << G4endl;
769 }
770 }
771}
static G4RunManager * GetRunManager()
std::vector< const G4Event * > * GetEventVector() const
Definition G4Run.hh:104

Referenced by G4VisCommandEnable::SetNewValue(), G4VisCommandReviewKeptEvents::SetNewValue(), and G4VisCommandReviewPlots::SetNewValue().

◆ EndDraw()

void G4VisManager::EndDraw ( )
virtual

Implements G4VVisManager.

Definition at line 934 of file G4VisManager.cc.

935{
936#ifdef G4MULTITHREADED
937 if (G4Threading::IsWorkerThread()) return;
938#endif
939 fDrawGroupNestingDepth--;
940 if (fDrawGroupNestingDepth != 0) {
941 if (fDrawGroupNestingDepth < 0) fDrawGroupNestingDepth = 0;
942 return;
943 }
944 if (IsValidView ()) {
945 fpSceneHandler -> EndPrimitives ();
946 }
947 fIsDrawGroup = false;
948}

◆ EndDraw2D()

void G4VisManager::EndDraw2D ( )
virtual

Implements G4VVisManager.

Definition at line 971 of file G4VisManager.cc.

972{
973#ifdef G4MULTITHREADED
974 if (G4Threading::IsWorkerThread()) return;
975#endif
976 fDrawGroupNestingDepth--;
977 if (fDrawGroupNestingDepth != 0) {
978 if (fDrawGroupNestingDepth < 0) fDrawGroupNestingDepth = 0;
979 return;
980 }
981 if (IsValidView ()) {
982 fpSceneHandler -> EndPrimitives2D ();
983 }
984 fIsDrawGroup = false;
985}

◆ FilterDigi()

G4bool G4VisManager::FilterDigi ( const G4VDigi & digi)
virtual

Implements G4VVisManager.

Definition at line 1491 of file G4VisManager.cc.

1492{
1493 return fpDigiFilterMgr->Accept(digi);
1494}

◆ FilterHit()

G4bool G4VisManager::FilterHit ( const G4VHit & hit)
virtual

Implements G4VVisManager.

Definition at line 1486 of file G4VisManager.cc.

1487{
1488 return fpHitFilterMgr->Accept(hit);
1489}

◆ FilterTrajectory()

G4bool G4VisManager::FilterTrajectory ( const G4VTrajectory & trajectory)
virtual

Implements G4VVisManager.

Definition at line 1481 of file G4VisManager.cc.

1482{
1483 return fpTrajFilterMgr->Accept(trajectory);
1484}

Referenced by DispatchToModel().

◆ GeometryHasChanged()

void G4VisManager::GeometryHasChanged ( )
virtual

Implements G4VVisManager.

Definition at line 1343 of file G4VisManager.cc.

1343 {
1344 if (fVerbosity >= confirmations) {
1345 G4cout << "G4VisManager::GeometryHasChanged() called." << G4endl;
1346 }
1347
1348 // Change the world...
1349 G4VPhysicalVolume* pWorld =
1351 -> GetNavigatorForTracking () -> GetWorldVolume ();
1352 if (!pWorld) {
1353 if (fVerbosity >= warnings) {
1354 G4warn << "WARNING: There is no world volume!" << G4endl;
1355 }
1356 }
1357
1358 // Check scenes.
1359 G4SceneList& sceneList = fSceneList;
1360 std::size_t iScene, nScenes = sceneList.size ();
1361 for (iScene = 0; iScene < nScenes; ++iScene) {
1362 G4Scene* pScene = sceneList [iScene];
1363 std::vector<G4Scene::Model>& modelList = pScene -> SetRunDurationModelList ();
1364 if (modelList.size ()) {
1365 G4bool modelInvalid;
1366 do { // Remove, if required, one at a time.
1367 modelInvalid = false;
1368 std::vector<G4Scene::Model>::iterator iterModel;
1369 for (iterModel = modelList.begin();
1370 iterModel != modelList.end();
1371 ++iterModel) {
1372 modelInvalid = !(iterModel->fpModel->Validate(fVerbosity>=warnings));
1373 if (modelInvalid) {
1374 // Model invalid - remove and break.
1375 if (fVerbosity >= warnings) {
1376 G4warn << "WARNING: Model \""
1377 << iterModel->fpModel->GetGlobalDescription ()
1378 <<
1379 "\" is no longer valid - being removed\n from scene \""
1380 << pScene -> GetName () << "\""
1381 << G4endl;
1382 }
1383 modelList.erase (iterModel);
1384 break;
1385 }
1386 }
1387 } while (modelInvalid);
1388
1389 if (modelList.size () == 0) {
1390 if (fVerbosity >= warnings) {
1391 G4warn << "WARNING: No run-duration models left in this scene \""
1392 << pScene -> GetName ()
1393 << "\"."
1394 << G4endl;
1395 }
1396 if (pWorld) {
1397 if (fVerbosity >= warnings) {
1398 G4warn << " Adding current world to \""
1399 << pScene -> GetName ()
1400 << "\"."
1401 << G4endl;
1402 }
1404 // (The above includes a re-calculation of the extent.)
1406 ApplyCommand (G4String("/vis/scene/notifyHandlers " + pScene->GetName()));
1407 }
1408 }
1409 else {
1410 pScene->CalculateExtent(); // Recalculate extent
1412 ApplyCommand (G4String("/vis/scene/notifyHandlers " + pScene->GetName()));
1413 }
1414 }
1415 }
1416
1417 // Check the manager's current scene...
1418 if (fpScene && fpScene -> GetRunDurationModelList ().size () == 0) {
1419 if (fVerbosity >= warnings) {
1420 G4warn << "WARNING: The current scene \""
1421 << fpScene -> GetName ()
1422 << "\" has no run duration models."
1423 << "\n Use \"/vis/scene/add/volume\" or create a new scene."
1424 << G4endl;
1425 }
1426 // Clean up
1427 if (fpSceneHandler) {
1428 fpSceneHandler->ClearTransientStore();
1429 fpSceneHandler->ClearStore();
1430 if (fpViewer) {
1431 fpViewer->NeedKernelVisit();
1432 fpViewer->SetView();
1433 fpViewer->ClearView();
1434 fpViewer->FinishView();
1435 }
1436 }
1437 }
1438}
void CalculateExtent()
Definition G4Scene.cc:64
G4bool AddRunDurationModel(G4VModel *, G4bool warn=false)
Definition G4Scene.cc:160
const G4String & GetName() const
static G4TransportationManager * GetTransportationManager()
virtual void ClearTransientStore()
virtual void ClearStore()
void NeedKernelVisit()
Definition G4VViewer.cc:81
virtual void FinishView()
Definition G4VViewer.cc:104
virtual void ClearView()=0
virtual void SetView()=0

◆ GetAbortReviewKeptEvents()

G4bool G4VisManager::GetAbortReviewKeptEvents ( ) const

◆ GetAbortReviewPlots()

G4bool G4VisManager::GetAbortReviewPlots ( ) const

◆ GetAvailableGraphicsSystems()

const G4GraphicsSystemList & G4VisManager::GetAvailableGraphicsSystems ( )

Definition at line 798 of file G4VisManager.cc.

798 {
799 std::size_t nSystems = fAvailableGraphicsSystems.size ();
800 if (nSystems == 0) {
801 if (fVerbosity >= warnings) {
802 G4warn << "G4VisManager::GetAvailableGraphicsSystems: WARNING: no"
803 "\n graphics system available!"
804 "\n 1) Did you have environment variables G4VIS_BUILD_xxxx_DRIVER set"
805 "\n when you compiled/built the visualization code?"
806 "\n 2) Did you instantiate your own Visualization Manager and forget"
807 "\n to implement RegisterGraphicsSystems correctly?"
808 "\n 3) You can register your own graphics system, e.g.,"
809 "\n visManager->RegisterGraphicsSystem(new MyGraphicsSystem);)"
810 "\n after instantiating your vis manager and before"
811 "\n visManager->Initialize()."
812 << G4endl;
813 }
814 }
815 return fAvailableGraphicsSystems;
816}

◆ GetAvailableSceneHandlers()

const G4SceneHandlerList & G4VisManager::GetAvailableSceneHandlers ( ) const

◆ GetCurrentGraphicsSystem()

G4VGraphicsSystem * G4VisManager::GetCurrentGraphicsSystem ( ) const

◆ GetCurrentScene()

G4Scene * G4VisManager::GetCurrentScene ( ) const

Referenced by G4RayTracerSceneHandler::G4RayTracerSceneHandler(), G4VisCommandDrawTree::SetNewValue(), G4VisCommandReviewKeptEvents::SetNewValue(), G4VisCommandReviewPlots::SetNewValue(), G4VisCommandSceneActivateModel::SetNewValue(), G4VisCommandSceneAddArrow2D::SetNewValue(), G4VisCommandSceneAddArrow::SetNewValue(), G4VisCommandSceneAddAxes::SetNewValue(), G4VisCommandSceneAddDate::SetNewValue(), G4VisCommandSceneAddDigis::SetNewValue(), G4VisCommandSceneAddElectricField::SetNewValue(), G4VisCommandSceneAddEventID::SetNewValue(), G4VisCommandSceneAddExtent::SetNewValue(), G4VisCommandSceneAddFrame::SetNewValue(), G4VisCommandSceneAddGPS::SetNewValue(), G4VisCommandSceneAddHits::SetNewValue(), G4VisCommandSceneAddLine2D::SetNewValue(), G4VisCommandSceneAddLine::SetNewValue(), G4VisCommandSceneAddLocalAxes::SetNewValue(), G4VisCommandSceneAddLogicalVolume::SetNewValue(), G4VisCommandSceneAddLogo2D::SetNewValue(), G4VisCommandSceneAddLogo::SetNewValue(), G4VisCommandSceneAddMagneticField::SetNewValue(), G4VisCommandSceneAddPlotter::SetNewValue(), G4VisCommandSceneAddPSHits::SetNewValue(), G4VisCommandSceneAddScale::SetNewValue(), G4VisCommandSceneAddText2D::SetNewValue(), G4VisCommandSceneAddText::SetNewValue(), G4VisCommandSceneAddTrajectories::SetNewValue(), G4VisCommandSceneAddUserAction::SetNewValue(), G4VisCommandSceneAddVolume::SetNewValue(), G4VisCommandSceneEndOfEventAction::SetNewValue(), G4VisCommandSceneEndOfRunAction::SetNewValue(), G4VisCommandSceneRemoveModel::SetNewValue(), and G4VisCommandsTouchable::SetNewValue().

◆ GetCurrentSceneHandler()

◆ GetCurrentViewer()

◆ GetDefaultGraphicsSystemBasis()

const G4String & G4VisManager::GetDefaultGraphicsSystemBasis ( ) const

◆ GetDefaultGraphicsSystemName()

const G4String & G4VisManager::GetDefaultGraphicsSystemName ( ) const

◆ GetDefaultViewParameters()

◆ GetDefaultXGeometryString()

const G4String & G4VisManager::GetDefaultXGeometryString ( ) const

◆ GetDefaultXGeometryStringBasis()

const G4String & G4VisManager::GetDefaultXGeometryStringBasis ( ) const

◆ GetDrawEventOnlyIfToBeKept()

G4bool G4VisManager::GetDrawEventOnlyIfToBeKept ( ) const

◆ GetEndOfEventUserVisActions()

const std::vector< UserVisAction > & G4VisManager::GetEndOfEventUserVisActions ( ) const

◆ GetEndOfRunUserVisActions()

const std::vector< UserVisAction > & G4VisManager::GetEndOfRunUserVisActions ( ) const

◆ GetInstance()

◆ GetNKeepRequests()

G4int G4VisManager::GetNKeepRequests ( ) const

◆ GetRequestedEvent()

const G4Event * G4VisManager::GetRequestedEvent ( ) const

◆ GetReviewingKeptEvents()

G4bool G4VisManager::GetReviewingKeptEvents ( ) const

◆ GetReviewingPlots()

G4bool G4VisManager::GetReviewingPlots ( ) const

◆ GetRunDurationUserVisActions()

const std::vector< UserVisAction > & G4VisManager::GetRunDurationUserVisActions ( ) const

◆ GetSceneList()

const G4SceneList & G4VisManager::GetSceneList ( ) const

◆ GetTransientsDrawnThisEvent()

G4bool G4VisManager::GetTransientsDrawnThisEvent ( ) const

◆ GetTransientsDrawnThisRun()

G4bool G4VisManager::GetTransientsDrawnThisRun ( ) const

◆ GetUserVisActionExtents()

const std::map< G4VUserVisAction *, G4VisExtent > & G4VisManager::GetUserVisActionExtents ( ) const

◆ GetVerbosity()

G4VisManager::Verbosity G4VisManager::GetVerbosity ( )
static

Definition at line 2557 of file G4VisManager.cc.

2557 {
2558 return fVerbosity;
2559}

Referenced by G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::BeginPrimitives(), G4DAWNFILESceneHandler::BeginSavingG4Prim(), G4GMocrenFileSceneHandler::BeginSavingGdd(), G4VVisCommand::CheckSceneAndNotifyHandlers(), G4VVisCommand::CheckView(), G4DAWNFILEViewer::ClearView(), G4GMocrenFileViewer::ClearView(), G4VRML2FileViewer::ClearView(), G4VRML2FileSceneHandler::closePort(), G4VRML2FileSceneHandler::connectPort(), G4VVisCommand::ConvertToColour(), G4VVisCommand::ConvertToDoublePair(), G4OpenGLXViewer::CreateGLXContext(), G4OpenGLXViewer::CreateMainWindow(), G4VSceneHandler::CreateModelingParameters(), G4VSceneHandler::Draw3DRectMeshAsDots(), G4VSceneHandler::Draw3DRectMeshAsSurfaces(), G4VSceneHandler::DrawTetMeshAsDots(), G4VSceneHandler::DrawTetMeshAsSurfaces(), G4DAWNFILEViewer::DrawView(), G4GMocrenFileViewer::DrawView(), G4ToolsSGOffscreenViewer::DrawView(), G4VRML2FileViewer::DrawView(), G4GMocrenFileSceneHandler::EndPrimitives(), G4DAWNFILESceneHandler::EndSavingG4Prim(), G4GMocrenFileSceneHandler::EndSavingGdd(), G4VRML2FileViewer::FinishView(), G4DAWNFILESceneHandler::FRBeginModeling(), G4OpenInventorQtViewer::G4OpenInventorQtViewer(), G4OpenInventorWinViewer::G4OpenInventorWinViewer(), G4OpenInventorXtExtendedViewer::G4OpenInventorXtExtendedViewer(), G4OpenInventorXtViewer::G4OpenInventorXtViewer(), G4GMocrenIO::getDetector(), GMocrenDetector::getEdge(), G4GMocrenIO::getShortDoseDist(), GMocrenTrack::getStep(), G4GMocrenIO::getTrack(), G4GMocrenFileSceneHandler::GFBeginModeling(), G4GMocrenFileSceneHandler::GFEndModeling(), G4GMocrenIO::mergeDoseDist(), GMocrenDataPrimitive< T >::operator+(), GMocrenDataPrimitive< T >::operator+=(), G4VSceneHandler::ProcessScene(), G4VVisCommand::ProvideValueOfUnit(), G4VVisCommand::RefreshIfRequired(), G4VSceneHandler::RequestPrimitives(), G4GMocrenIO::retrieveData(), G4GMocrenIO::retrieveData2(), G4GMocrenIO::retrieveData3(), G4GMocrenIO::retrieveData4(), G4DAWNFILEViewer::SendViewParameters(), G4VVisCommandGeometrySet::Set(), G4DAWNFILESceneHandler::SetG4PrimFileName(), G4GMocrenFileSceneHandler::SetGddFileName(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4ToolsSGOffscreenViewer::Messenger::SetNewValue(), G4ToolsSGViewer< SG_SESSION, SG_VIEWER >::Messenger::SetNewValue(), G4VisCommandDrawLogicalVolume::SetNewValue(), G4VisCommandDrawOnlyToBeKeptEvents::SetNewValue(), G4VisCommandDrawTree::SetNewValue(), G4VisCommandDrawView::SetNewValue(), G4VisCommandDrawVolume::SetNewValue(), G4VisCommandGeometryList::SetNewValue(), G4VisCommandGeometryRestore::SetNewValue(), G4VisCommandGeometrySetDaughtersInvisible::SetNewValue(), G4VisCommandGeometrySetVisibility::SetNewValue(), G4VisCommandReviewKeptEvents::SetNewValue(), G4VisCommandReviewPlots::SetNewValue(), G4VisCommandSceneActivateModel::SetNewValue(), G4VisCommandSceneAddArrow2D::SetNewValue(), G4VisCommandSceneAddArrow::SetNewValue(), G4VisCommandSceneAddAxes::SetNewValue(), G4VisCommandSceneAddDate::SetNewValue(), G4VisCommandSceneAddDigis::SetNewValue(), G4VisCommandSceneAddElectricField::SetNewValue(), G4VisCommandSceneAddEventID::SetNewValue(), G4VisCommandSceneAddExtent::SetNewValue(), G4VisCommandSceneAddFrame::SetNewValue(), G4VisCommandSceneAddGPS::SetNewValue(), G4VisCommandSceneAddHits::SetNewValue(), G4VisCommandSceneAddLine2D::SetNewValue(), G4VisCommandSceneAddLine::SetNewValue(), G4VisCommandSceneAddLocalAxes::SetNewValue(), G4VisCommandSceneAddLogicalVolume::SetNewValue(), G4VisCommandSceneAddLogo2D::SetNewValue(), G4VisCommandSceneAddLogo::SetNewValue(), G4VisCommandSceneAddMagneticField::SetNewValue(), G4VisCommandSceneAddPlotter::SetNewValue(), G4VisCommandSceneAddPSHits::SetNewValue(), G4VisCommandSceneAddScale::SetNewValue(), G4VisCommandSceneAddText2D::SetNewValue(), G4VisCommandSceneAddText::SetNewValue(), G4VisCommandSceneAddTrajectories::SetNewValue(), G4VisCommandSceneAddUserAction::SetNewValue(), G4VisCommandSceneAddVolume::SetNewValue(), G4VisCommandSceneCreate::SetNewValue(), G4VisCommandSceneEndOfEventAction::SetNewValue(), G4VisCommandSceneEndOfRunAction::SetNewValue(), G4VisCommandSceneHandlerAttach::SetNewValue(), G4VisCommandSceneHandlerCreate::SetNewValue(), G4VisCommandSceneHandlerSelect::SetNewValue(), G4VisCommandSceneNotifyHandlers::SetNewValue(), G4VisCommandSceneRemoveModel::SetNewValue(), G4VisCommandSceneSelect::SetNewValue(), G4VisCommandSceneShowExtents::SetNewValue(), G4VisCommandSetArrow3DLineSegmentsPerCircle::SetNewValue(), G4VisCommandSetColour::SetNewValue(), G4VisCommandSetExtentForField::SetNewValue(), G4VisCommandSetLineWidth::SetNewValue(), G4VisCommandSetTextColour::SetNewValue(), G4VisCommandSetTextLayout::SetNewValue(), G4VisCommandSetTextSize::SetNewValue(), G4VisCommandSetTouchable::SetNewValue(), G4VisCommandSetVolumeForField::SetNewValue(), G4VisCommandSpecify::SetNewValue(), G4VisCommandsTouchable::SetNewValue(), G4VisCommandsTouchableSet::SetNewValue(), G4VisCommandsViewerSet::SetNewValue(), G4VisCommandViewerAddCutawayPlane::SetNewValue(), G4VisCommandViewerCentreOn::SetNewValue(), G4VisCommandViewerChangeCutawayPlane::SetNewValue(), G4VisCommandViewerClear::SetNewValue(), G4VisCommandViewerClearCutawayPlanes::SetNewValue(), G4VisCommandViewerClearTransients::SetNewValue(), G4VisCommandViewerClearVisAttributesModifiers::SetNewValue(), G4VisCommandViewerClone::SetNewValue(), G4VisCommandViewerColourByDensity::SetNewValue(), G4VisCommandViewerCopyViewFrom::SetNewValue(), G4VisCommandViewerCreate::SetNewValue(), G4VisCommandViewerDefaultHiddenEdge::SetNewValue(), G4VisCommandViewerDefaultStyle::SetNewValue(), G4VisCommandViewerDolly::SetNewValue(), G4VisCommandViewerFlush::SetNewValue(), G4VisCommandViewerInterpolate::SetNewValue(), G4VisCommandViewerPan::SetNewValue(), G4VisCommandViewerRebuild::SetNewValue(), G4VisCommandViewerRefresh::SetNewValue(), G4VisCommandViewerReset::SetNewValue(), G4VisCommandViewerResetCameraParameters::SetNewValue(), G4VisCommandViewerSave::SetNewValue(), G4VisCommandViewerScale::SetNewValue(), G4VisCommandViewerSelect::SetNewValue(), G4VisCommandViewerUpdate::SetNewValue(), G4VisCommandViewerZoom::SetNewValue(), G4VisCommandGeometrySetVisibility::SetNewValueOnLV(), G4DAWNFILEViewer::SetView(), G4GMocrenFileViewer::SetView(), G4DAWNFILEViewer::ShowView(), G4GMocrenFileViewer::ShowView(), G4VRML2FileViewer::ShowView(), G4GMocrenIO::storeData3(), G4DAWNFILESceneHandler::~G4DAWNFILESceneHandler(), G4GMocrenFileSceneHandler::~G4GMocrenFileSceneHandler(), and G4VRML2FileSceneHandler::~G4VRML2FileSceneHandler().

◆ GetVerbosityValue() [1/2]

G4VisManager::Verbosity G4VisManager::GetVerbosityValue ( const G4String & verbosityString)
static

Definition at line 2518 of file G4VisManager.cc.

2518 {
2519 G4String ss = G4StrUtil::to_lower_copy(verbosityString);
2520 Verbosity verbosity;
2521 if (ss[0] == 'q') verbosity = quiet;
2522 else if (ss[0] == 's') verbosity = startup;
2523 else if (ss[0] == 'e') verbosity = errors;
2524 else if (ss[0] == 'w') verbosity = warnings;
2525 else if (ss[0] == 'c') verbosity = confirmations;
2526 else if (ss[0] == 'p') verbosity = parameters;
2527 else if (ss[0] == 'a') verbosity = all;
2528 else {
2529 G4int intVerbosity;
2530 std::istringstream is(ss);
2531 is >> intVerbosity;
2532 if (!is) {
2533 G4warn << "ERROR: G4VisManager::GetVerbosityValue: invalid verbosity \""
2534 << verbosityString << "\"";
2535 for (std::size_t i = 0; i < VerbosityGuidanceStrings.size(); ++i) {
2536 G4warn << '\n' << VerbosityGuidanceStrings[i];
2537 }
2538 verbosity = warnings;
2539 G4warn << "\n Returning " << VerbosityString(verbosity)
2540 << G4endl;
2541 }
2542 else {
2543 verbosity = GetVerbosityValue(intVerbosity);
2544 }
2545 }
2546 return verbosity;
2547}

Referenced by G4VisManager(), GetVerbosityValue(), G4VisCommandList::SetNewValue(), G4VisCommandSceneHandlerList::SetNewValue(), G4VisCommandSceneList::SetNewValue(), G4VisCommandVerbose::SetNewValue(), G4VisCommandViewerList::SetNewValue(), SetVerboseLevel(), and SetVerboseLevel().

◆ GetVerbosityValue() [2/2]

G4VisManager::Verbosity G4VisManager::GetVerbosityValue ( G4int intVerbosity)
static

Definition at line 2549 of file G4VisManager.cc.

2549 {
2550 Verbosity verbosity;
2551 if (intVerbosity < quiet) verbosity = quiet;
2552 else if (intVerbosity > all) verbosity = all;
2553 else verbosity = Verbosity(intVerbosity);
2554 return verbosity;
2555}

◆ GetViewer()

G4VViewer * G4VisManager::GetViewer ( const G4String & viewerName) const

Definition at line 2479 of file G4VisManager.cc.

2479 {
2480 G4String viewerShortName = ViewerShortName (viewerName);
2481 std::size_t nHandlers = fAvailableSceneHandlers.size ();
2482 std::size_t iHandler, iViewer;
2483 G4VViewer* viewer = 0;
2484 G4bool found = false;
2485 for (iHandler = 0; iHandler < nHandlers; iHandler++) {
2486 G4VSceneHandler* sceneHandler = fAvailableSceneHandlers [iHandler];
2487 const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
2488 for (iViewer = 0; iViewer < viewerList.size (); iViewer++) {
2489 viewer = viewerList [iViewer];
2490 if (viewerShortName == viewer -> GetShortName ()) {
2491 found = true;
2492 break;
2493 }
2494 }
2495 if (found) break;
2496 }
2497 if (found) return viewer;
2498 else return 0;
2499}
G4String ViewerShortName(const G4String &viewerName) const

Referenced by G4VisCommandsViewerSet::SetNewValue().

◆ IgnoreStateChanges()

void G4VisManager::IgnoreStateChanges ( G4bool val)
virtual

Reimplemented from G4VVisManager.

Definition at line 2695 of file G4VisManager.cc.

2696{
2697 fIgnoreStateChanges = val;
2698}

◆ Initialise()

void G4VisManager::Initialise ( )

Definition at line 262 of file G4VisManager.cc.

262 {
263
264 if (fInitialised && fVerbosity >= warnings) {
265 G4warn << "WARNING: G4VisManager::Initialise: already initialised."
266 << G4endl;
267 return;
268 }
269
270 if (fVerbosity >= startup) {
271 G4cout << "Visualization Manager initialising..." << G4endl;
272 }
273
274 if (fVerbosity >= parameters) {
275 G4cout <<
276 "\nYou have instantiated your own Visualization Manager, inheriting"
277 "\n G4VisManager and implementing RegisterGraphicsSystems(), in which"
278 "\n you should, normally, instantiate drivers which do not need"
279 "\n external packages or libraries, and, optionally, drivers under"
280 "\n control of environment variables."
281 "\n Also you should implement RegisterModelFactories()."
282 "\n See visualization/management/include/G4VisExecutive.hh/icc, for example."
283 "\n In your main() you will have something like:"
284 "\n G4VisManager* visManager = new G4VisExecutive;"
285 "\n visManager -> SetVerboseLevel (Verbose);"
286 "\n visManager -> Initialize ();"
287 "\n (Don't forget to delete visManager;)"
288 "\n"
289 << G4endl;
290 }
291
292 if (fVerbosity >= startup) {
293 G4cout << "Registering graphics systems..." << G4endl;
294 }
295
297
298 if (fVerbosity >= startup) {
299 G4cout <<
300 "\nYou have successfully registered the following graphics systems."
301 << G4endl;
303 G4cout << G4endl;
304 }
305
306 // Make command directories for commands instantiated in the
307 // modeling subcategory...
308 G4UIcommand* directory;
309 directory = new G4UIdirectory ("/vis/modeling/");
310 directory -> SetGuidance ("Modeling commands.");
311 fDirectoryList.push_back (directory);
312 directory = new G4UIdirectory ("/vis/modeling/trajectories/");
313 directory -> SetGuidance ("Trajectory model commands.");
314 fDirectoryList.push_back (directory);
315 directory = new G4UIdirectory ("/vis/modeling/trajectories/create/");
316 directory -> SetGuidance ("Create trajectory models and messengers.");
317 fDirectoryList.push_back (directory);
318
319 // Filtering command directory
320 directory = new G4UIdirectory ("/vis/filtering/");
321 directory -> SetGuidance ("Filtering commands.");
322 fDirectoryList.push_back (directory);
323 directory = new G4UIdirectory ("/vis/filtering/trajectories/");
324 directory -> SetGuidance ("Trajectory filtering commands.");
325 fDirectoryList.push_back (directory);
326 directory = new G4UIdirectory ("/vis/filtering/trajectories/create/");
327 directory -> SetGuidance ("Create trajectory filters and messengers.");
328 fDirectoryList.push_back (directory);
329 directory = new G4UIdirectory ("/vis/filtering/hits/");
330 directory -> SetGuidance ("Hit filtering commands.");
331 fDirectoryList.push_back (directory);
332 directory = new G4UIdirectory ("/vis/filtering/hits/create/");
333 directory -> SetGuidance ("Create hit filters and messengers.");
334 fDirectoryList.push_back (directory);
335 directory = new G4UIdirectory ("/vis/filtering/digi/");
336 directory -> SetGuidance ("Digi filtering commands.");
337 fDirectoryList.push_back (directory);
338 directory = new G4UIdirectory ("/vis/filtering/digi/create/");
339 directory -> SetGuidance ("Create digi filters and messengers.");
340 fDirectoryList.push_back (directory);
341
343
344 if (fVerbosity >= startup) {
345 G4cout << "Registering model factories..." << G4endl;
346 }
347
349
350 if (fVerbosity >= startup) {
351 G4cout <<
352 "\nYou have successfully registered the following model factories."
353 << G4endl;
354 PrintAvailableModels (fVerbosity);
355 G4cout << G4endl;
356 }
357
358 if (fVerbosity >= startup) {
359 PrintAvailableUserVisActions (fVerbosity);
360 G4cout << G4endl;
361 }
362
363 InitialiseG4ColourMap();
364
365 if (fVerbosity >= startup) {
366 G4cout <<
367 "Some /vis commands (optionally) take a string to specify colour."
368 "\n\"/vis/list\" to see available colours."
369 << G4endl;
370 }
371
372 fInitialised = true;
373}
void PrintAvailableGraphicsSystems(Verbosity, std::ostream &=G4cout) const
virtual void RegisterGraphicsSystems()=0
virtual void RegisterModelFactories()
void RegisterMessengers()

Referenced by CreateSceneHandler(), and CreateViewer().

◆ Initialize()

void G4VisManager::Initialize ( )

◆ IsEnabled()

G4bool G4VisManager::IsEnabled ( ) const

◆ NotifyHandlers()

void G4VisManager::NotifyHandlers ( )
virtual

Reimplemented from G4VVisManager.

Definition at line 1440 of file G4VisManager.cc.

1440 {
1441
1442 if (fVerbosity >= confirmations) {
1443 G4cout << "G4VisManager::NotifyHandler() called." << G4endl;
1444 }
1445
1446 if (IsValidView()) {
1447
1448 // Check scenes.
1449 G4SceneList& sceneList = fSceneList;
1450 std::size_t iScene, nScenes = sceneList.size ();
1451 for (iScene = 0; iScene < nScenes; ++iScene) {
1452 G4Scene* pScene = sceneList [iScene];
1453 std::vector<G4Scene::Model>& modelList = pScene -> SetRunDurationModelList ();
1454
1455 if (modelList.size ()) {
1456 pScene->CalculateExtent();
1458 ApplyCommand (G4String("/vis/scene/notifyHandlers " + pScene->GetName()));
1459 }
1460 }
1461
1462 // Check the manager's current scene...
1463 if (fpScene && fpScene -> GetRunDurationModelList ().size () == 0) {
1464 if (fVerbosity >= warnings) {
1465 G4warn << "WARNING: The current scene \""
1466 << fpScene -> GetName ()
1467 << "\" has no run duration models."
1468 << "\n Use \"/vis/scene/add/volume\" or create a new scene."
1469 << G4endl;
1470 }
1471 fpSceneHandler->ClearTransientStore();
1472 fpSceneHandler->ClearStore();
1473 fpViewer->NeedKernelVisit();
1474 fpViewer->SetView();
1475 fpViewer->ClearView();
1476 fpViewer->FinishView();
1477 }
1478 }
1479}

◆ PrintAvailableGraphicsSystems()

void G4VisManager::PrintAvailableGraphicsSystems ( Verbosity verbosity,
std::ostream & out = G4cout ) const

Definition at line 1730 of file G4VisManager.cc.

1732{
1733 out << "Registered graphics systems are:\n";
1734 if (fAvailableGraphicsSystems.size ()) {
1735 for (const auto& gs: fAvailableGraphicsSystems) {
1736 const G4String& name = gs->GetName();
1737 const std::vector<G4String>& nicknames = gs->GetNicknames();
1738 if (verbosity <= warnings) {
1739 // Brief output
1740 out << " " << name << " (";
1741 for (std::size_t i = 0; i < nicknames.size(); ++i) {
1742 if (i != 0) {
1743 out << ", ";
1744 }
1745 out << nicknames[i];
1746 }
1747 out << ')';
1748 } else {
1749 // Full output
1750 out << *gs;
1751 }
1752 out << std::endl;
1753 }
1754 out << "Default graphics system is: " << fDefaultGraphicsSystemName
1755 << " (based on " << fDefaultGraphicsSystemBasis << ")."
1756 << "\nDefault window size hint is: " << fDefaultXGeometryString
1757 << " (based on " << fDefaultXGeometryStringBasis << ")."
1758 << "\nNote: Parameters specified on the command line will override these defaults."
1759 << "\n Use \"vis/open\" without parameters to get these defaults."
1760 << std::endl;
1761 } else {
1762 out << " NONE!!! None registered - yet! Mmmmm!" << G4endl;
1763 }
1764}
const char * name(G4int ptype)

Referenced by Initialise(), G4VisCommandList::SetNewValue(), G4VisCommandOpen::SetNewValue(), and G4VisCommandSceneHandlerCreate::SetNewValue().

◆ RegisterEndOfEventUserVisAction()

void G4VisManager::RegisterEndOfEventUserVisAction ( const G4String & name,
G4VUserVisAction * pVisAction,
const G4VisExtent & extent = G4VisExtent() )

Definition at line 1543 of file G4VisManager.cc.

1546 {
1547 fEndOfEventUserVisActions.push_back(UserVisAction(name,pVisAction));
1548 if (extent.GetExtentRadius() > 0.) {
1549 fUserVisActionExtents[pVisAction] = extent;
1550 } else {
1551 if (fVerbosity >= warnings) {
1552 G4warn <<
1553 "WARNING: No extent set for user vis action \"" << name << "\"."
1554 << G4endl;
1555 }
1556 }
1557 if (fVerbosity >= confirmations) {
1558 G4cout
1559 << "End of event user vis action \"" << name << "\" registered"
1560 << G4endl;
1561 }
1562}
G4double GetExtentRadius() const

◆ RegisterEndOfRunUserVisAction()

void G4VisManager::RegisterEndOfRunUserVisAction ( const G4String & name,
G4VUserVisAction * pVisAction,
const G4VisExtent & extent = G4VisExtent() )

Definition at line 1564 of file G4VisManager.cc.

1567 {
1568 fEndOfRunUserVisActions.push_back(UserVisAction(name,pVisAction));
1569 if (extent.GetExtentRadius() > 0.) {
1570 fUserVisActionExtents[pVisAction] = extent;
1571 } else {
1572 if (fVerbosity >= warnings) {
1573 G4warn <<
1574 "WARNING: No extent set for user vis action \"" << name << "\"."
1575 << G4endl;
1576 }
1577 }
1578 if (fVerbosity >= confirmations) {
1579 G4cout
1580 << "End of run user vis action \"" << name << "\" registered"
1581 << G4endl;
1582 }
1583}

◆ RegisterGraphicsSystem()

G4bool G4VisManager::RegisterGraphicsSystem ( G4VGraphicsSystem * pSystem)

Definition at line 818 of file G4VisManager.cc.

818 {
819 G4bool happy = true;
820 if (pSystem) {
821 fAvailableGraphicsSystems.push_back (pSystem);
822 if (fVerbosity >= confirmations) {
823 G4cout << "G4VisManager::RegisterGraphicsSystem: "
824 << pSystem -> GetName ();
825 if (pSystem -> GetNickname () != "") {
826 G4cout << " (" << pSystem -> GetNickname () << ")";
827 }
828 G4cout << " registered." << G4endl;
829 }
830 }
831 else {
832 if (fVerbosity >= errors) {
833 G4warn << "G4VisManager::RegisterGraphicsSystem: null pointer!"
834 << G4endl;
835 }
836 happy=false;
837 }
838 return happy;
839}

◆ RegisterGraphicsSystems()

virtual void G4VisManager::RegisterGraphicsSystems ( )
protectedpure virtual

Referenced by Initialise().

◆ RegisterMessenger()

void G4VisManager::RegisterMessenger ( G4UImessenger * messenger)

Referenced by G4VisManager(), and RegisterMessengers().

◆ RegisterMessengers()

void G4VisManager::RegisterMessengers ( )
protected

Definition at line 469 of file G4VisManager.cc.

469 {
470
471 // Instantiate individual messengers/commands (often - but not
472 // always - one command per messenger).
473
474 G4UIcommand* directory;
475
476 directory = new G4UIdirectory ("/vis/geometry/");
477 directory -> SetGuidance("Operations on vis attributes of Geant4 geometry.");
478 fDirectoryList.push_back (directory);
481
482 directory = new G4UIdirectory ("/vis/geometry/set/");
483 directory -> SetGuidance("Set vis attributes of Geant4 geometry.");
484 fDirectoryList.push_back (directory);
495
496#ifdef G4MULTITHREADED
497 directory = new G4UIdirectory ("/vis/multithreading/");
498 directory -> SetGuidance("Commands unique to multithreading mode.");
499 fDirectoryList.push_back (directory);
500 RegisterMessenger(new G4VisCommandMultithreadingActionOnEventQueueFull);
501 RegisterMessenger(new G4VisCommandMultithreadingMaxEventQueueSize);
502#endif
503
504 directory = new G4UIdirectory ("/vis/set/");
505 directory -> SetGuidance
506 ("Set quantities for use in future commands where appropriate.");
507 fDirectoryList.push_back (directory);
517
518 directory = new G4UIdirectory ("/vis/scene/");
519 directory -> SetGuidance ("Operations on Geant4 scenes.");
520 fDirectoryList.push_back (directory);
530
531 directory = new G4UIdirectory ("/vis/scene/add/");
532 directory -> SetGuidance ("Add model to current scene.");
533 fDirectoryList.push_back (directory);
560
561 RegisterMessenger(new G4VisCommandPlotterCreate);
562 RegisterMessenger(new G4VisCommandPlotterSetLayout);
563 RegisterMessenger(new G4VisCommandPlotterAddStyle);
564 RegisterMessenger(new G4VisCommandPlotterAddRegionStyle);
565 RegisterMessenger(new G4VisCommandPlotterAddRegionParameter);
566 RegisterMessenger(new G4VisCommandPlotterClear);
567 RegisterMessenger(new G4VisCommandPlotterClearRegion);
568 RegisterMessenger(new G4VisCommandPlotterList);
569 RegisterMessenger(new G4VisCommandPlotterAddRegionH1);
570 RegisterMessenger(new G4VisCommandPlotterAddRegionH2);
571
572 directory = new G4UIdirectory ("/vis/sceneHandler/");
573 directory -> SetGuidance ("Operations on Geant4 scene handlers.");
574 fDirectoryList.push_back (directory);
579
580 directory = new G4UIdirectory ("/vis/touchable/");
581 directory -> SetGuidance ("Operations on touchables.");
582 fDirectoryList.push_back (directory);
584
585 directory = new G4UIdirectory ("/vis/touchable/set/");
586 directory -> SetGuidance ("Set vis attributes of current touchable.");
587 fDirectoryList.push_back (directory);
589
590 directory = new G4UIdirectory ("/vis/viewer/");
591 directory -> SetGuidance ("Operations on Geant4 viewers.");
592 fDirectoryList.push_back (directory);
618
619 directory = new G4UIdirectory ("/vis/viewer/default/");
620 directory -> SetGuidance("Set default values for future viewers.");
621 fDirectoryList.push_back (directory);
624
625 directory = new G4UIdirectory ("/vis/viewer/set/");
626 directory -> SetGuidance ("Set view parameters of current viewer.");
627 fDirectoryList.push_back (directory);
629
630 // *Basic* top level commands were instantiated in the constructor
631 // so that they can be used immediately after instantiation of the
632 // vis manager. Other top level commands, including "compound commands"
633 // (i.e., commands that invoke other commands) are instantiated here.
634
649
650 // List manager commands
652 (fpTrajDrawModelMgr, fpTrajDrawModelMgr->Placement()));
654 (fpTrajDrawModelMgr, fpTrajDrawModelMgr->Placement()));
655
656 // Trajectory filter manager commands
658 (fpTrajFilterMgr, fpTrajFilterMgr->Placement()));
660 (fpTrajFilterMgr, fpTrajFilterMgr->Placement()));
661
662 // Hit filter manager commands
664 (fpHitFilterMgr, fpHitFilterMgr->Placement()));
666 (fpHitFilterMgr, fpHitFilterMgr->Placement()));
667
668 // Digi filter manager commands
670 (fpDigiFilterMgr, fpDigiFilterMgr->Placement()));
672 (fpDigiFilterMgr, fpDigiFilterMgr->Placement()));
673}
G4String Placement() const
G4String Placement() const

Referenced by Initialise().

◆ RegisterModel() [1/4]

void G4VisManager::RegisterModel ( G4VFilter< G4VDigi > * filter)

Definition at line 897 of file G4VisManager.cc.

898{
899 fpDigiFilterMgr->Register(model);
900}

◆ RegisterModel() [2/4]

void G4VisManager::RegisterModel ( G4VFilter< G4VHit > * filter)

Definition at line 886 of file G4VisManager.cc.

887{
888 fpHitFilterMgr->Register(model);
889}

◆ RegisterModel() [3/4]

void G4VisManager::RegisterModel ( G4VFilter< G4VTrajectory > * filter)

Definition at line 875 of file G4VisManager.cc.

876{
877 fpTrajFilterMgr->Register(model);
878}

◆ RegisterModel() [4/4]

void G4VisManager::RegisterModel ( G4VTrajectoryModel * model)

Definition at line 864 of file G4VisManager.cc.

865{
866 fpTrajDrawModelMgr->Register(model);
867}

◆ RegisterModelFactories()

void G4VisManager::RegisterModelFactories ( )
protectedvirtual

Definition at line 2679 of file G4VisManager.cc.

2680{
2681 if (fVerbosity >= warnings) {
2682 G4warn<<"G4VisManager: No model factories registered with G4VisManager."<<G4endl;
2683 G4warn<<"G4VisManager::RegisterModelFactories() should be overridden in derived"<<G4endl;
2684 G4warn<<"class. See G4VisExecutive for an example."<<G4endl;
2685 }
2686}

Referenced by Initialise().

◆ RegisterModelFactory() [1/4]

void G4VisManager::RegisterModelFactory ( G4DigiFilterFactory * factory)

Definition at line 903 of file G4VisManager.cc.

904{
905 fpDigiFilterMgr->Register(factory);
906}

◆ RegisterModelFactory() [2/4]

void G4VisManager::RegisterModelFactory ( G4HitFilterFactory * factory)

Definition at line 892 of file G4VisManager.cc.

893{
894 fpHitFilterMgr->Register(factory);
895}

◆ RegisterModelFactory() [3/4]

void G4VisManager::RegisterModelFactory ( G4TrajDrawModelFactory * factory)

Definition at line 870 of file G4VisManager.cc.

871{
872 fpTrajDrawModelMgr->Register(factory);
873}

◆ RegisterModelFactory() [4/4]

void G4VisManager::RegisterModelFactory ( G4TrajFilterFactory * factory)

Definition at line 881 of file G4VisManager.cc.

882{
883 fpTrajFilterMgr->Register(factory);
884}

◆ RegisterRunDurationUserVisAction()

void G4VisManager::RegisterRunDurationUserVisAction ( const G4String & name,
G4VUserVisAction * pVisAction,
const G4VisExtent & extent = G4VisExtent() )

Definition at line 1522 of file G4VisManager.cc.

1525 {
1526 fRunDurationUserVisActions.push_back(UserVisAction(name,pVisAction));
1527 if (extent.GetExtentRadius() > 0.) {
1528 fUserVisActionExtents[pVisAction] = extent;
1529 } else {
1530 if (fVerbosity >= warnings) {
1531 G4warn <<
1532 "WARNING: No extent set for user vis action \"" << name << "\"."
1533 << G4endl;
1534 }
1535 }
1536 if (fVerbosity >= confirmations) {
1537 G4cout
1538 << "Run duration user vis action \"" << name << "\" registered"
1539 << G4endl;
1540 }
1541}

◆ ResetTransientsDrawnFlags()

void G4VisManager::ResetTransientsDrawnFlags ( )

Definition at line 2462 of file G4VisManager.cc.

2463{
2464 fTransientsDrawnThisRun = false;
2465 fTransientsDrawnThisEvent = false;
2467 for (i = fAvailableSceneHandlers.begin();
2468 i != fAvailableSceneHandlers.end(); ++i) {
2469 (*i)->SetTransientsDrawnThisEvent(false);
2470 (*i)->SetTransientsDrawnThisRun(false);
2471 }
2472}
std::vector< G4VSceneHandler * >::const_iterator G4SceneHandlerListConstIterator

Referenced by SetCurrentScene(), G4VisCommandSceneEndOfEventAction::SetNewValue(), G4VisCommandSceneEndOfRunAction::SetNewValue(), and G4VisCommandViewerClearTransients::SetNewValue().

◆ SelectTrajectoryModel()

void G4VisManager::SelectTrajectoryModel ( const G4String & model)

Definition at line 908 of file G4VisManager.cc.

909{
910 fpTrajDrawModelMgr->SetCurrent(model);
911}
void SetCurrent(const G4String &)

◆ SetAbortReviewKeptEvents()

void G4VisManager::SetAbortReviewKeptEvents ( G4bool )

◆ SetAbortReviewPlots()

void G4VisManager::SetAbortReviewPlots ( G4bool )

◆ SetAvailableSceneHandlers()

G4SceneHandlerList & G4VisManager::SetAvailableSceneHandlers ( )

◆ SetCurrentGraphicsSystem()

void G4VisManager::SetCurrentGraphicsSystem ( G4VGraphicsSystem * pSystem)

Definition at line 1594 of file G4VisManager.cc.

1594 {
1595 fpGraphicsSystem = pSystem;
1596 if (fVerbosity >= confirmations) {
1597 G4cout << "G4VisManager::SetCurrentGraphicsSystem: system now "
1598 << pSystem -> GetName () << G4endl;
1599 }
1600 // If current scene handler is of same graphics system, leave unchanged.
1601 // Else find the most recent scene handler of same graphics system.
1602 // Or clear pointers.
1603 if (!(fpSceneHandler && fpSceneHandler -> GetGraphicsSystem () == pSystem)) {
1604 const G4SceneHandlerList& sceneHandlerList = fAvailableSceneHandlers;
1605 G4int nSH = (G4int)sceneHandlerList.size (); // No. of scene handlers.
1606 G4int iSH;
1607 for (iSH = nSH - 1; iSH >= 0; iSH--) {
1608 if (sceneHandlerList [iSH] -> GetGraphicsSystem () == pSystem) break;
1609 }
1610 if (iSH >= 0) {
1611 fpSceneHandler = sceneHandlerList [iSH];
1612 if (fVerbosity >= confirmations) {
1613 G4cout << " Scene Handler now "
1614 << fpSceneHandler -> GetName () << G4endl;
1615 }
1616 if (fpScene != fpSceneHandler -> GetScene ()) {
1617 fpScene = fpSceneHandler -> GetScene ();
1618 if (fVerbosity >= confirmations) {
1619 G4cout << " Scene now \""
1620 << fpScene -> GetName () << "\"" << G4endl;
1621 }
1622 }
1623 const G4ViewerList& viewerList = fpSceneHandler -> GetViewerList ();
1624 if (viewerList.size ()) {
1625 fpViewer = viewerList [0];
1626 if (fVerbosity >= confirmations) {
1627 G4cout << " Viewer now " << fpViewer -> GetName () << G4endl;
1628 }
1629 }
1630 else {
1631 fpViewer = 0;
1632 }
1633 }
1634 else {
1635 fpSceneHandler = 0;
1636 fpViewer = 0;
1637 }
1638 }
1639}

Referenced by G4VisCommandDrawTree::SetNewValue().

◆ SetCurrentScene()

void G4VisManager::SetCurrentScene ( G4Scene * pScene)

Definition at line 1585 of file G4VisManager.cc.

1585 {
1586 if (pScene != fpScene) {
1587 // A change of scene. Therefore reset transients drawn flags. All
1588 // memory of previous transient proceessing thereby erased...
1590 }
1591 fpScene = pScene;
1592}
void ResetTransientsDrawnFlags()

Referenced by G4RayTracerSceneHandler::G4RayTracerSceneHandler(), and G4VisCommandDrawTree::SetNewValue().

◆ SetCurrentSceneHandler()

void G4VisManager::SetCurrentSceneHandler ( G4VSceneHandler * pSceneHandler)

Definition at line 1641 of file G4VisManager.cc.

1641 {
1642 fpSceneHandler = pSceneHandler;
1643 if (fVerbosity >= confirmations) {
1644 G4cout << "G4VisManager::SetCurrentSceneHandler: scene handler now \""
1645 << pSceneHandler -> GetName () << "\"" << G4endl;
1646 }
1647 if (fpScene != fpSceneHandler -> GetScene ()) {
1648 fpScene = fpSceneHandler -> GetScene ();
1649 if (fVerbosity >= confirmations) {
1650 G4cout << " Scene now \""
1651 << fpScene -> GetName () << "\"" << G4endl;
1652 }
1653 }
1654 if (fpGraphicsSystem != pSceneHandler -> GetGraphicsSystem ()) {
1655 fpGraphicsSystem = pSceneHandler -> GetGraphicsSystem ();
1656 if (fVerbosity >= confirmations) {
1657 G4cout << " Graphics system now \""
1658 << fpGraphicsSystem -> GetName () << "\"" << G4endl;
1659 }
1660 }
1661 const G4ViewerList& viewerList = fpSceneHandler -> GetViewerList ();
1662 std::size_t nViewers = viewerList.size ();
1663 if (nViewers) {
1664 std::size_t iViewer;
1665 for (iViewer = 0; iViewer < nViewers; ++iViewer) {
1666 if (fpViewer == viewerList [iViewer]) break;
1667 }
1668 if (iViewer >= nViewers) {
1669 fpViewer = viewerList [0];
1670 if (fVerbosity >= confirmations) {
1671 G4cout << " Viewer now \"" << fpViewer -> GetName () << "\""
1672 << G4endl;
1673 }
1674 }
1675 if (!IsValidView ()) {
1676 if (fVerbosity >= warnings) {
1677 G4warn <<
1678 "WARNING: Problem setting scene handler - please report circumstances."
1679 << G4endl;
1680 }
1681 }
1682 }
1683 else {
1684 fpViewer = 0;
1685 if (fVerbosity >= warnings) {
1686 G4warn <<
1687 "WARNING: No viewers for this scene handler - please create one."
1688 << G4endl;
1689 }
1690 }
1691}

Referenced by G4VisCommandDrawTree::SetNewValue().

◆ SetCurrentViewer()

void G4VisManager::SetCurrentViewer ( G4VViewer * pViewer)

Definition at line 1693 of file G4VisManager.cc.

1693 {
1694 fpViewer = pViewer;
1695 if (fpViewer == nullptr) {
1696 if (fVerbosity >= confirmations) {
1697 G4cout << "G4VisManager::SetCurrentViewer: current viewer pointer zeroed "
1698 << G4endl;
1699 }
1700 return;
1701 }
1702 if (fVerbosity >= confirmations) {
1703 G4cout << "G4VisManager::SetCurrentViewer: viewer now "
1704 << pViewer -> GetName ()
1705 << G4endl;
1706 }
1707 fpSceneHandler = fpViewer -> GetSceneHandler ();
1708 if (!fpSceneHandler) {
1709 if (fVerbosity >= warnings) {
1710 G4warn <<
1711 "WARNING: No scene handler for this viewer - please create one."
1712 << G4endl;
1713 }
1714 return;
1715 }
1716 // JA: I don't think we need this. Setview will be called when needed.
1717 // fpViewer->SetView();
1718 fpSceneHandler -> SetCurrentViewer (pViewer);
1719 fpScene = fpSceneHandler -> GetScene ();
1720 fpGraphicsSystem = fpSceneHandler -> GetGraphicsSystem ();
1721 if (!IsValidView ()) {
1722 if (fVerbosity >= warnings) {
1723 G4warn <<
1724 "WARNING: Problem setting viewer - please report circumstances."
1725 << G4endl;
1726 }
1727 }
1728}

Referenced by CreateViewer(), SetCurrentViewer(), and G4VisCommandDrawTree::SetNewValue().

◆ SetDefaultGraphicsSystemBasis()

void G4VisManager::SetDefaultGraphicsSystemBasis ( const G4String & )

◆ SetDefaultGraphicsSystemName()

void G4VisManager::SetDefaultGraphicsSystemName ( const G4String & )

◆ SetDefaultViewParameters()

void G4VisManager::SetDefaultViewParameters ( const G4ViewParameters & )

◆ SetDefaultXGeometryString()

void G4VisManager::SetDefaultXGeometryString ( const G4String & )

◆ SetDefaultXGeometryStringBasis()

void G4VisManager::SetDefaultXGeometryStringBasis ( const G4String & )

◆ SetDrawEventOnlyIfToBeKept()

void G4VisManager::SetDrawEventOnlyIfToBeKept ( G4bool )

◆ SetEventRefreshing()

void G4VisManager::SetEventRefreshing ( G4bool )

◆ SetRequestedEvent()

void G4VisManager::SetRequestedEvent ( const G4Event * )

◆ SetReviewingKeptEvents()

void G4VisManager::SetReviewingKeptEvents ( G4bool )

◆ SetReviewingPlots()

void G4VisManager::SetReviewingPlots ( G4bool )

◆ SetSceneList()

G4SceneList & G4VisManager::SetSceneList ( )

◆ SetTransientsDrawnThisEvent()

void G4VisManager::SetTransientsDrawnThisEvent ( G4bool )

◆ SetTransientsDrawnThisRun()

void G4VisManager::SetTransientsDrawnThisRun ( G4bool )

◆ SetVerboseLevel() [1/3]

void G4VisManager::SetVerboseLevel ( const G4String & verbosityString)

Definition at line 2565 of file G4VisManager.cc.

2565 {
2566 fVerbosity = GetVerbosityValue(verbosityString);
2567}

◆ SetVerboseLevel() [2/3]

◆ SetVerboseLevel() [3/3]

void G4VisManager::SetVerboseLevel ( Verbosity )

◆ VerbosityString()

G4String G4VisManager::VerbosityString ( Verbosity verbosity)
static

Definition at line 2503 of file G4VisManager.cc.

2503 {
2504 G4String rs;
2505 switch (verbosity) {
2506 case quiet: rs = "quiet (0)"; break;
2507 case startup: rs = "startup (1)"; break;
2508 case errors: rs = "errors (2)"; break;
2509 case warnings: rs = "warnings (3)"; break;
2510 case confirmations: rs = "confirmations (4)"; break;
2511 case parameters: rs = "parameters (5)"; break;
2512 case all: rs = "all (6)"; break;
2513 }
2514 return rs;
2515}

Referenced by G4VisManager(), GetVerbosityValue(), and G4VisCommandVerbose::SetNewValue().

◆ ViewerShortName()

G4String G4VisManager::ViewerShortName ( const G4String & viewerName) const

Definition at line 2474 of file G4VisManager.cc.

2474 {
2475 G4String viewerShortName = viewerName.substr(0, viewerName.find (' '));
2476 return G4StrUtil::strip_copy(viewerShortName);
2477}

Referenced by GetViewer().

Friends And Related Symbol Documentation

◆ G4VisCommandList

friend class G4VisCommandList
friend

Definition at line 129 of file G4VisManager.hh.

◆ G4VisStateDependent

friend class G4VisStateDependent
friend

Definition at line 128 of file G4VisManager.hh.

Referenced by G4VisManager().

◆ G4VSceneHandler

friend class G4VSceneHandler
friend

Definition at line 126 of file G4VisManager.hh.

◆ G4VViewer

friend class G4VViewer
friend

Definition at line 127 of file G4VisManager.hh.

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream & os,
const G4VGraphicsSystem & gs )
friend

Definition at line 73 of file G4VGraphicsSystem.cc.

74{
75 os << "Graphics System: " << gs.GetName ();
76 os << ", nicknames:"; for (const auto& nickname: gs.GetNicknames())
77 {os << ' ' << nickname;}
78 os << "\n Description: " << gs.GetDescription ();
79 os << "\n Functionality: ";
80 switch (gs.GetFunctionality()) {
82 os << "None";
83 break;
85 os << "nonEuclidian, e.g., tree representation of geometry hierarchy.";
86 break;
88 os << "twoD: Simple 2D, e.g., X (no stored structures).";
89 break;
91 os << "twoDStore: 2D with stored structures.";
92 break;
94 os << "threeD: Passive 3D (with stored structures)";
95 break;
97 os << "threeDInteractive: 3D with mouse control and \"pick\" functionality.";
98 break;
100 os << "virtualReality";
101 break;
103 os << "fileWriter";
104 break;
105 default:
106 os << "unknown";
107 break;
108 }
109
111 const G4SceneHandlerList& scenes = pVMan -> GetAvailableSceneHandlers ();
112 if (pVMan -> GetVerbosity() >= G4VisManager::parameters) {
113 size_t nScenes = scenes.size ();
114 if (nScenes) {
115 G4int nScenesOfThisSystem = 0;
116 for (size_t i = 0; i < nScenes; i++) {
117 if (scenes [i] -> GetGraphicsSystem () == &gs) {
118 nScenesOfThisSystem++;
119 }
120 }
121 if (nScenesOfThisSystem) {
122 os << "\n Its scenes are: ";
123 for (size_t i = 0; i < nScenes; i++) {
124 if (scenes [i] -> GetGraphicsSystem () == &gs) {
125 os << "\n " << *(scenes [i]);
126 }
127 }
128 }
129 else {
130 os << "\n It has no scenes at present.";
131 }
132 }
133 else {
134 os << "\n There are no scenes instantiated at present.";
135 }
136 }
137
138 return os;
139}
const std::vector< G4String > & GetNicknames() const
Functionality GetFunctionality() const
const G4String & GetDescription() const
const G4String & GetName() const
static Verbosity GetVerbosity()
const G4SceneHandlerList & GetAvailableSceneHandlers() const
static G4VisManager * GetInstance()

◆ operator<< [2/2]

std::ostream & operator<< ( std::ostream & os,
const G4VSceneHandler & sh )
friend

Definition at line 1279 of file G4VSceneHandler.cc.

1279 {
1280
1281 os << "Scene handler " << sh.fName << " has "
1282 << sh.fViewerList.size () << " viewer(s):";
1283 for (std::size_t i = 0; i < sh.fViewerList.size (); ++i) {
1284 os << "\n " << *(sh.fViewerList [i]);
1285 }
1286
1287 if (sh.fpScene) {
1288 os << "\n " << *sh.fpScene;
1289 }
1290 else {
1291 os << "\n This scene handler currently has no scene.";
1292 }
1293
1294 return os;
1295}
G4ViewerList fViewerList

Member Data Documentation

◆ fDefaultGraphicsSystemBasis

G4String G4VisManager::fDefaultGraphicsSystemBasis
protected

Definition at line 498 of file G4VisManager.hh.

Referenced by PrintAvailableGraphicsSystems().

◆ fDefaultGraphicsSystemName

G4String G4VisManager::fDefaultGraphicsSystemName
protected

Definition at line 496 of file G4VisManager.hh.

Referenced by PrintAvailableGraphicsSystems().

◆ fDefaultXGeometryString

G4String G4VisManager::fDefaultXGeometryString
protected

Definition at line 497 of file G4VisManager.hh.

Referenced by PrintAvailableGraphicsSystems().

◆ fDefaultXGeometryStringBasis

G4String G4VisManager::fDefaultXGeometryStringBasis
protected

Definition at line 499 of file G4VisManager.hh.

Referenced by PrintAvailableGraphicsSystems().

◆ fVerbose

const G4int G4VisManager::fVerbose
protected

Definition at line 487 of file G4VisManager.hh.

◆ fVerbosity

◆ VerbosityGuidanceStrings

std::vector< G4String > G4VisManager::VerbosityGuidanceStrings
static

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