Skip to content
Snippets Groups Projects
Commit ed32b442 authored by Elmar Ritsch's avatar Elmar Ritsch Committed by Graeme Stewart
Browse files

Add postInclude to launch Python GUI to visualize and examine envelope...

Add postInclude to launch Python GUI to visualize and examine envelope definitions as provided by EnvelopeDefSvc. ATLASSIM-2665 (SubDetectorEnvelopes-00-04-01)

	* Add postInclude to launch Python GUI to visualize and examine
	envelope definitions as provided by EnvelopeDefSvc. ATLASSIM-2665
	* tagging SubDetectorEnvelopes-00-04-01

2016-03-23  John Chapman  <John.Chapman@cern.ch>
	* python/SubDetectorEnvelopesConfig.py - update Muon and Cavern
	envelopes to support MuonSpectrometer-R.07.03. ATLASSIM-2665
	* tagging SubDetectorEnvelopes-00-04-00
parent 59680010
No related branches found
No related tags found
No related merge requests found
...@@ -71,12 +71,13 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs): ...@@ -71,12 +71,13 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
# setup fallback MuonEnvelope # setup fallback MuonEnvelope
Muon = Volume() Muon = Volume()
Muon.addRZ( 4255.0 , 4000.0 )
Muon.addRZ( 4255.0 , 6550.0 ) Muon.addRZ( 4255.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6550.0 ) Muon.addRZ( 3800.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6736.0 ) Muon.addRZ( 3800.0 , 6736.0 )
Muon.addRZ( 420.0 , 6736.0 ) Muon.addRZ( 420.0 , 6736.0 )
Muon.addRZ( 420.0 , 6783.0 ) Muon.addRZ( 420.0 , 6783.0 )
Muon.addRZ( 70.0 , 6783.0 ) Muon.addRZ( 70.0 , 6783.0 )
Muon.addRZ( 70.0 , 12900.0 ) Muon.addRZ( 70.0 , 12900.0 )
Muon.addRZ( 279.0 , 12900.0 ) Muon.addRZ( 279.0 , 12900.0 )
Muon.addRZ( 279.0 , 18650.0 ) Muon.addRZ( 279.0 , 18650.0 )
...@@ -92,18 +93,18 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs): ...@@ -92,18 +93,18 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
Muon.addRZ( 12650.0 , 18650.0 ) Muon.addRZ( 12650.0 , 18650.0 )
Muon.addRZ( 13400.0 , 18650.0 ) Muon.addRZ( 13400.0 , 18650.0 )
Muon.addRZ( 13400.0 , 12900.0 ) Muon.addRZ( 13400.0 , 12900.0 )
Muon.addRZ( 13910.0 , 12900.0 ) Muon.addRZ( 14200.0 , 12900.0 )
Muon.addRZ( 13910.0 , 6550.0 ) Muon.addRZ( 14200.0 , 4000.0 )
Muon.addRZ( 13000.0 , 6550.0 ) Muon.addRZ( 13000.0 , 4000.0 )
kwargs.setdefault("FallbackMuonR" , Muon.getRs() ) kwargs.setdefault("FallbackMuonR" , Muon.getRs() )
kwargs.setdefault("FallbackMuonZ" , Muon.getZs() ) kwargs.setdefault("FallbackMuonZ" , Muon.getZs() )
# setup fallback CavernEnvelope # setup fallback CavernEnvelope
Cavern = Volume() Cavern = Volume()
Cavern.addRZ( 13000.0 , 6550.0 ) Cavern.addRZ( 13000.0 , 4000.0 )
Cavern.addRZ( 13910.0 , 6550.0 ) Cavern.addRZ( 14200.0 , 4000.0 )
Cavern.addRZ( 13910.0 , 12900.0 ) # boundary with MS Cavern.addRZ( 14200.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 12900.0 ) # boundary with MS Cavern.addRZ( 13400.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 18650.0 ) # boundary with MS Cavern.addRZ( 13400.0 , 18650.0 ) # boundary with MS
Cavern.addRZ( 12650.0 , 18650.0 ) # boundary with MS Cavern.addRZ( 12650.0 , 18650.0 ) # boundary with MS
...@@ -112,7 +113,7 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs): ...@@ -112,7 +113,7 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
Cavern.addRZ( 2750.0 , 23001.0 ) # boundary with MS Cavern.addRZ( 2750.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 23001.0 ) # boundary with MS Cavern.addRZ( 1500.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 26046.0 ) # boundary with MS Cavern.addRZ( 1500.0 , 26046.0 ) # boundary with MS
Cavern.addRZ( 0.0 , 26046.0 ) # Cavern.addRZ( 0.0 , 26046.0 ) #
# the outer dimesions differ between collision and cosmics jobs # the outer dimesions differ between collision and cosmics jobs
from AthenaCommon.BeamFlags import jobproperties from AthenaCommon.BeamFlags import jobproperties
......
"""
Visualize envelopes as defined in EnvelopeDefSvc
Elmar Ritsch, 13/05/2016
"""
from AthenaCommon.CfgGetter import getService
def draw_envelope(ax, rlist_half, zlist_half, color, label):
# mirror the given (r,z) values in the x-y plane
rlist = rlist_half[:]
zlist = zlist_half[:]
for r in reversed(rlist_half):
rlist.append(r)
for z in reversed(zlist_half):
zlist.append(-z)
rlist.append(rlist[0])
zlist.append(zlist[0])
area = Polygon(zip(zlist, rlist), alpha=0.5, closed=True, color=color, label=label, linewidth=0.)
ax.add_patch(area)
if __name__ == "__main__":
import matplotlib
matplotlib.use('Qt4Agg') # use backend that supports GUI (rather than file output only)
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
svc = getService('AtlasGeometry_EnvelopeDefSvc')
fig, ax = plt.subplots(figsize=(20,10))
draw_envelope(ax, svc.FallbackBeamPipeR, svc.FallbackBeamPipeZ, 'r', label='BeamPipe')
draw_envelope(ax, svc.FallbackInDetR, svc.FallbackInDetZ, 'b', label='InDet')
draw_envelope(ax, svc.FallbackCaloR, svc.FallbackCaloZ, 'c', label='Calo')
draw_envelope(ax, svc.FallbackMuonR, svc.FallbackMuonZ, 'm', label='MS')
draw_envelope(ax, svc.FallbackCavernR, svc.FallbackCavernZ, 'k', label='Cavern')
ax.autoscale_view()
plt.ylabel('r (mm)')
plt.xlabel('z (mm)')
plt.legend()
plt.show(block=True)
exit(1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment