# Macro file for the visualization setting in the initialization phase 
# of the B1 example when running in interactive mode
#

# Use these open statements to open selected visualization
#
# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
# Use this open statement to create an OpenInventor view:
#/vis/open OI
#
# Use this open statement to create a .prim file suitable for
# viewing in DAWN:
#/vis/open DAWNFILE
#
# Use this open statement to create a .heprep file suitable for
# viewing in HepRApp:
#/vis/open HepRepFile
#
# Use this open statement to create a .wrl file suitable for
# viewing in a VRML viewer:
#/vis/open VRML2FILE
#
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
#
# Draw geometry:
/vis/drawVolume
#
# Specify view angle:
/vis/viewer/set/viewpointVector -1 0 0
/vis/viewer/set/lightsVector -1 0 0
#
# Specify style (surface, wireframe, auxiliary edges,...)
#/vis/viewer/set/style wireframe
#/vis/viewer/set/auxiliaryEdge true
/vis/viewer/set/lineSegmentsPerCircle 100
#
# Draw smooth trajectories at end of event, showing trajectory points
# as markers 2 pixels wide:
#/vis/scene/add/trajectories smooth
/vis/scene/add/trajectories rich

#/vis/modeling/trajectories/create/drawByCharge
#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts false
#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
# (if too many tracks cause core dump => /tracking/storeTrajectory 0)
# Create another drawByCharge model with an explicit name of testChargeModel
# Configure drawByCharge-0 model
#/vis/modeling/trajectories/drawByCharge-0/set 1 red
#/vis/modeling/trajectories/drawByCharge-0/set -1 red
#/vis/modeling/trajectories/drawByCharge-0/set 0 white

# List available models
#/vis/modeling/trajectories/list
# select drawByCharge-0 to be current
#/vis/modeling/trajectories/select drawByCharge-0

#
# Draw hits at end of event:
/vis/scene/add/hits
#
# To draw only gammas:
#/vis/filtering/trajectories/create/particleFilter
#/vis/filtering/trajectories/particleFilter-0/add gamma
#
# To invert the above, drawing all particles except gammas,
# keep the above two lines but also add:
#/vis/filtering/trajectories/particleFilter-0/invert true
#
# Many other options are available with /vis/modeling and /vis/filtering.
# For example, to select colour by particle ID:
/vis/modeling/trajectories/create/drawByParticleID
#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
# To select or override default colours (note: e+ is blue by default):
#/vis/modeling/trajectories/drawByParticleID-0/set e+ blue

/vis/filtering/trajectories/create/attributeFilter
/vis/filtering/trajectories/attributeFilter-0/setAttribute ID   
/vis/filtering/trajectories/attributeFilter-0/addValue 1
/vis/filtering/trajectories/attributeFilter-0/invert true

/vis/modeling/trajectories/create/drawByAttribute
/vis/modeling/trajectories/drawByAttribute-0/verbose false
/vis/modeling/trajectories/drawByAttribute-0/setAttribute CPN
#/vis/modeling/trajectories/drawByAttribute-0/addValue brem_key  eBrem
#/vis/modeling/trajectories/drawByAttribute-0/addValue annihil_key annihil 
#/vis/modeling/trajectories/drawByAttribute-0/addValue decay_key Decay
#/vis/modeling/trajectories/drawByAttribute-0/addValue muIon_key muIoni
#/vis/modeling/trajectories/drawByAttribute-0/addValue eIon_key  eIoni
#/vis/modeling/trajectories/drawByAttribute-0/addValue Rayl_key  Rayl
#/vis/modeling/trajectories/drawByAttribute-0/addValue compt_key  compt
#/vis/modeling/trajectories/drawByAttribute-0/addValue conv_key  conv
#/vis/modeling/trajectories/drawByAttribute-0/addValue phot_key  phot
/vis/modeling/trajectories/drawByAttribute-0/addValue Scint_key  Scintillation
/vis/modeling/trajectories/drawByAttribute-0/addValue Ceren_key  Cerenkov
/vis/modeling/trajectories/drawByAttribute-0/addValue OpWLS_key  OpWLS

/vis/modeling/trajectories/drawByAttribute-0/Scint_key/setLineColour    green
/vis/modeling/trajectories/drawByAttribute-0/Ceren_key/setLineColour    magenta
/vis/modeling/trajectories/drawByAttribute-0/OpWLS_key/setLineColour    red

/vis/modeling/trajectories/list
/vis/modeling/trajectories/select drawByAttribute-0


#
# To superimpose all of the events from a given run:
/vis/scene/endOfEventAction accumulate
#
# Decorations
# Name
#/vis/set/textColour green
#/vis/set/textLayout right
#/vis/scene/add/text2D 0.9 -.9 24 ! ! exampleB1
# or, if your system does not support right-adjustment
#/vis/scene/add/text2D 0 -.9 24 ! ! exampleB1
/vis/set/textLayout    # Revert to normal (left adjusted) layout
/vis/set/textColour    # Revert to default text colour (blue)
#
# Axes, scale, etc.
#/vis/scene/add/scale   # Simple scale line
#/vis/scene/add/axes    # Simple axes: x=red, y=green, z=blue.

#
# To get nice view
# Make the "World" box invisible
 
/vis/geometry/set/visibility World 0 false
/vis/geometry/set/visibility Detector 0 false
/vis/geometry/set/visibility EpoxyBox 0 false
/vis/geometry/set/visibility AbsBox 0 false
/vis/geometry/set/visibility EpoxyStrip 0 false
/vis/geometry/set/visibility Pixel 0 false
/vis/geometry/set/visibility Trigger 0 false
/vis/geometry/set/colour all 0 0 0 0

/vis/geometry/set/colour Cladding2Section 1 0. 0.5 0.5
/vis/geometry/set/colour Cladding1Section 0 0.5 0.5 0.5
/vis/geometry/set/colour CoreSection 0 0.5 0.0 0.5
/vis/geometry/set/colour Pixel 0 0.0 0.5 0.0 1.0
/vis/geometry/set/colour EpoxyStrip 0 1.0 1.0 1.0 1.0
/vis/geometry/set/colour EpoxyBox 0 0.9 0.9 0.9 1.
#/vis/geometry/set/colour EpoxyBoxsub 0 0.25 0.25 0.25 0.25
/vis/geometry/set/colour Detector 0 0.0 0.7 0.2 .5

# "Envelope" is transparent blue to represent water
#/vis/geometry/set/colour Envelope 0 0 0 1 .3
/vis/viewer/set/style surface
#edge is slow
#/vis/viewer/set/edge false 
#/vis/viewer/set/hiddenMarker true
/vis/viewer/set/targetPoint 0.0 0.0 .0 m
/vis/viewer/set/viewpointThetaPhi 120 150
/vis/viewer/zoomTo 10
#
/vis/scene/add/hits
/tracking/storeTrajectory 1

# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
#
# For file-based drivers, use this to create an empty detector view:
#/vis/viewer/flush
#/vis/ogl/set/printSize 1200 600
#/vis/ogl/set/printFilename barrel
#/vis/ogl/set/printMode pixmap
#/vis/ogl/printEPS

/control/verbose 0
/tracking/verbose 0
/event/verbose 0
/gps/verbose 0
/gps/particle mu-
/gps/ene/mono 4 GeV
# source positioning
/gps/pos/type Plane
#/gps/pos/shape Circle
#/gps/pos/radius 2.5 mm
/gps/pos/shape Square
/gps/pos/halfx 5 mm
/gps/pos/halfy 5 mm
/gps/pos/halfz 5 mm
/gps/pos/rot2 0 0 1 # sets the x-y plane of source in the global x-z plane.
/gps/pos/centre 0. 50.0 50. mm

# angular distribution
/gps/ang/type iso
/gps/ang/mintheta   0.0 deg
/gps/ang/maxtheta   1.0 deg
/gps/ang/minphi 0.0 deg
/gps/ang/maxphi 0.1 deg


# For file-based drivers, use this to create an empty detector view:
#/vis/viewer/flush
#/run/beamOn 10