Geant4 Cross Reference |
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 // Jane Tinslay May 2006 28 // 29 #ifndef G4VISTRAJCONTEXT_HH 30 #define G4VISTRAJCONTEXT_HH 31 32 #include "G4Colour.hh" 33 #include "G4Polymarker.hh" 34 35 class G4VisTrajContext { 36 37 public: 38 39 // Default configuration 40 G4VisTrajContext(const G4String& name = "Unspecified"); 41 42 // Destructor 43 virtual ~G4VisTrajContext(); 44 45 G4String Name() const; 46 47 void SetVisible(const G4bool& visible); 48 49 // Print configuration 50 void Print(std::ostream& ostr) const; 51 52 // Line 53 void SetLineColour(const G4Colour& colour); 54 G4Colour GetLineColour() const; 55 56 void SetLineWidth(const G4double& width); 57 G4double GetLineWidth() const; 58 59 void SetDrawLine(const G4bool& draw); 60 G4bool GetDrawLine() const; 61 62 void SetLineVisible(const G4bool& visible); 63 G4bool GetLineVisible() const; 64 65 // Auxiliary points 66 void SetDrawAuxPts(const G4bool& draw); 67 G4bool GetDrawAuxPts() const; 68 69 void SetAuxPtsType(const G4Polymarker::MarkerType& marker); 70 G4Polymarker::MarkerType GetAuxPtsType() const; 71 72 void SetAuxPtsSize(const G4double& size); 73 G4double GetAuxPtsSize() const; 74 75 void SetAuxPtsSizeType(const G4VMarker::SizeType& sizeType); 76 G4VMarker::SizeType GetAuxPtsSizeType() const; 77 78 void SetAuxPtsFillStyle(const G4VMarker::FillStyle& style); 79 G4VMarker::FillStyle GetAuxPtsFillStyle() const; 80 81 void SetAuxPtsColour(const G4Colour& colour); 82 G4Colour GetAuxPtsColour() const; 83 84 void SetAuxPtsVisible(const G4bool& visible); 85 G4bool GetAuxPtsVisible() const; 86 87 // Step points 88 void SetDrawStepPts(const G4bool& draw); 89 G4bool GetDrawStepPts() const; 90 91 void SetStepPtsType(const G4Polymarker::MarkerType& marker); 92 G4Polymarker::MarkerType GetStepPtsType() const; 93 94 void SetStepPtsSize(const G4double& size); 95 G4double GetStepPtsSize() const; 96 97 void SetStepPtsSizeType(const G4VMarker::SizeType& sizeType); 98 G4VMarker::SizeType GetStepPtsSizeType() const; 99 100 void SetStepPtsFillStyle(const G4VMarker::FillStyle& style); 101 G4VMarker::FillStyle GetStepPtsFillStyle() const; 102 103 void SetStepPtsColour(const G4Colour& colour); 104 G4Colour GetStepPtsColour() const; 105 106 void SetStepPtsVisible(const G4bool& visible); 107 G4bool GetStepPtsVisible() const; 108 109 void SetTimeSliceInterval(const G4double& interval); 110 G4double GetTimeSliceInterval() const; 111 112 private: 113 114 // Data members 115 G4String fName; 116 117 // Line data 118 G4double fLineWidth; 119 G4Colour fLineColour; 120 G4bool fLineVisible; 121 G4bool fDrawLine; 122 123 // Auxiliary point data 124 G4bool fDrawAuxPts; 125 G4Polymarker::MarkerType fAuxPtsType; 126 G4double fAuxPtsSize; 127 G4VMarker::SizeType fAuxPtsSizeType; 128 G4VMarker::FillStyle fAuxPtsFillStyle; 129 G4Colour fAuxPtsColour; 130 G4bool fAuxPtsVisible; 131 132 // Step point data 133 G4bool fDrawStepPts; 134 G4Polymarker::MarkerType fStepPtsType; 135 G4double fStepPtsSize; 136 G4VMarker::SizeType fStepPtsSizeType; 137 G4VMarker::FillStyle fStepPtsFillStyle; 138 G4Colour fStepPtsColour; 139 G4bool fStepPtsVisible; 140 141 // Time slicing 142 G4double fTimeSliceInterval; 143 144 }; 145 146 #include "G4VisTrajContext.icc" 147 148 #endif 149 150