ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4RTXScanner.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4RTXScanner.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 //
28 //
29 
30 #ifdef G4VIS_BUILD_RAYTRACERX_DRIVER
31 
32 #ifndef G4RTXScanner_H
33 #define G4RTXScanner_H 1
34 
35 // class description:
36 //
37 // G4RTXScanner
38 // Provides a sequence of window coordinates suitable for a visible
39 // window of ever increasing resolution.
40 
41 #include "G4VRTScanner.hh"
42 
43 #include <X11/Xlib.h>
44 #include <X11/Xutil.h>
45 
46 class G4ViewParameters;
47 
48 class G4RTXScanner: public G4VRTScanner {
49 
50 public: // with description
51 
52  G4RTXScanner();
53  virtual ~G4RTXScanner();
54 
55  // Compiler defaults for copy constructor and assignmemt.
56 
57  virtual const G4String& GetGSName() const;
58  // Get name that acts as graphics system name.
59 
60  virtual const G4String& GetGSNickname() const;
61  // Get name that acts as graphics system nickname. It is this that
62  // the user specifies on the /vis/open and /vis/sceneHandler/create
63  // commands.
64 
65  virtual void Initialize(G4int nRow, G4int nColumn);
66  // Intialises scanner for window with nRow rows and nColumn columns.
67 
68  virtual G4bool Coords(G4int& iRow, G4int& iColumn);
69  // Supplies coordinate (iRow,iColumn) and returns false when the
70  // sequence has finished, i.e., on the call *after* suplying the
71  // last valid coordinate.
72 
73  virtual void Draw
74  (unsigned char red, unsigned char green, unsigned char blue);
75  // Draw coloured square at current position.
76 
77  G4bool GetXWindow(const G4String& name, G4ViewParameters&);
78 
79 protected:
80  G4String theGSName, theGSNickname;
81  G4int theNRow, theNColumn, theStep, theIRow, theIColumn;
82  // X Window variables...
83  Display* display;
84  Window win;
85  GC gc;
86  XStandardColormap *scmap;
87 };
88 
89 #endif
90 
91 #endif