00001 // 00002 // ******************************************************************** 00003 // * License and Disclaimer * 00004 // * * 00005 // * The Geant4 software is copyright of the Copyright Holders of * 00006 // * the Geant4 Collaboration. It is provided under the terms and * 00007 // * conditions of the Geant4 Software License, included in the file * 00008 // * LICENSE and available at http://cern.ch/geant4/license . These * 00009 // * include a list of copyright holders. * 00010 // * * 00011 // * Neither the authors of this software system, nor their employing * 00012 // * institutes,nor the agencies providing financial support for this * 00013 // * work make any representation or warranty, express or implied, * 00014 // * regarding this software system or assume any liability for its * 00015 // * use. Please see the license in the file LICENSE and URL above * 00016 // * for the full disclaimer and the limitation of liability. * 00017 // * * 00018 // * This code implementation is the result of the scientific and * 00019 // * technical work of the GEANT4 collaboration. * 00020 // * By using, copying, modifying or distributing the software (or * 00021 // * any work based on the software) you agree to acknowledge its * 00022 // * use in resulting scientific publications, and indicate your * 00023 // * acceptance of all terms of the Geant4 Software license. * 00024 // ******************************************************************** 00025 // 00026 // $Id$ 00027 // 00028 // Jane Tinslay May 2006 00029 // 00030 #ifndef G4VISTRAJCONTEXT_HH 00031 #define G4VISTRAJCONTEXT_HH 00032 00033 #include "G4Colour.hh" 00034 #include "G4Polymarker.hh" 00035 00036 class G4VisTrajContext { 00037 00038 public: 00039 00040 // Default configuration 00041 G4VisTrajContext(const G4String& name = "Unspecified"); 00042 00043 // Destructor 00044 virtual ~G4VisTrajContext(); 00045 00046 G4String Name() const; 00047 00048 void SetVisible(const G4bool& visible); 00049 00050 // Print configuration 00051 void Print(std::ostream& ostr) const; 00052 00053 // Line 00054 void SetLineColour(const G4Colour& colour); 00055 G4Colour GetLineColour() const; 00056 00057 void SetDrawLine(const G4bool& draw); 00058 G4bool GetDrawLine() const; 00059 00060 void SetLineVisible(const G4bool& visible); 00061 G4bool GetLineVisible() const; 00062 00063 // Auxiliary points 00064 void SetDrawAuxPts(const G4bool& draw); 00065 G4bool GetDrawAuxPts() const; 00066 00067 void SetAuxPtsType(const G4Polymarker::MarkerType& marker); 00068 G4Polymarker::MarkerType GetAuxPtsType() const; 00069 00070 void SetAuxPtsSize(const G4double& size); 00071 G4double GetAuxPtsSize() const; 00072 00073 void SetAuxPtsSizeType(const G4VMarker::SizeType& sizeType); 00074 G4VMarker::SizeType GetAuxPtsSizeType() const; 00075 00076 void SetAuxPtsFillStyle(const G4VMarker::FillStyle& style); 00077 G4VMarker::FillStyle GetAuxPtsFillStyle() const; 00078 00079 void SetAuxPtsColour(const G4Colour& colour); 00080 G4Colour GetAuxPtsColour() const; 00081 00082 void SetAuxPtsVisible(const G4bool& visible); 00083 G4bool GetAuxPtsVisible() const; 00084 00085 // Step points 00086 void SetDrawStepPts(const G4bool& draw); 00087 G4bool GetDrawStepPts() const; 00088 00089 void SetStepPtsType(const G4Polymarker::MarkerType& marker); 00090 G4Polymarker::MarkerType GetStepPtsType() const; 00091 00092 void SetStepPtsSize(const G4double& size); 00093 G4double GetStepPtsSize() const; 00094 00095 void SetStepPtsSizeType(const G4VMarker::SizeType& sizeType); 00096 G4VMarker::SizeType GetStepPtsSizeType() const; 00097 00098 void SetStepPtsFillStyle(const G4VMarker::FillStyle& style); 00099 G4VMarker::FillStyle GetStepPtsFillStyle() const; 00100 00101 void SetStepPtsColour(const G4Colour& colour); 00102 G4Colour GetStepPtsColour() const; 00103 00104 void SetStepPtsVisible(const G4bool& visible); 00105 G4bool GetStepPtsVisible() const; 00106 00107 void SetTimeSliceInterval(const G4double& interval); 00108 G4double GetTimeSliceInterval() const; 00109 00110 private: 00111 00112 // Data members 00113 G4String fName; 00114 00115 // Line data 00116 G4Colour fLineColour; 00117 G4bool fLineVisible; 00118 G4bool fDrawLine; 00119 00120 // Auxiliary point data 00121 G4bool fDrawAuxPts; 00122 G4Polymarker::MarkerType fAuxPtsType; 00123 G4double fAuxPtsSize; 00124 G4VMarker::SizeType fAuxPtsSizeType; 00125 G4VMarker::FillStyle fAuxPtsFillStyle; 00126 G4Colour fAuxPtsColour; 00127 G4bool fAuxPtsVisible; 00128 00129 // Step point data 00130 G4bool fDrawStepPts; 00131 G4Polymarker::MarkerType fStepPtsType; 00132 G4double fStepPtsSize; 00133 G4VMarker::SizeType fStepPtsSizeType; 00134 G4VMarker::FillStyle fStepPtsFillStyle; 00135 G4Colour fStepPtsColour; 00136 G4bool fStepPtsVisible; 00137 00138 // Time slicing 00139 G4double fTimeSliceInterval; 00140 00141 }; 00142 00143 #include "G4VisTrajContext.icc" 00144 00145 #endif 00146