1) Adding/improving the simulation of light signals and APD 2) Many small changes and improvements 3) Adding manual to musrSimAna to the svn repository 4) Adding some example files for musrSim
220 lines
15 KiB
Plaintext
220 lines
15 KiB
Plaintext
#-----------------------------------------------------------------------
|
|
# Macro file for the GPD muSR instrument simulation, as the geometry looked like in 2010.
|
|
# Unless specified otherwises, the default units are mm, ns, MeV, MeV/c.
|
|
# Lines starting with star "#" are comments.
|
|
###################################################################################
|
|
############################# G E O M E T R Y ###################################
|
|
###################################################################################
|
|
# ROTATION MATRIXES:
|
|
/musr/command rotation matrix1 1 0 0 90
|
|
/musr/command rotation matrix2 0 1 0 28.81
|
|
/musr/command rotation matrix3 0 1 0 151.19
|
|
/musr/command rotation matrix4 0 0 1 45
|
|
/musr/command rotation matrix5 0 1 0 90
|
|
/musr/command rotation matrix6 180 90 90
|
|
/musr/command rotation matrix7 0 90 90
|
|
# --- WORLD VOLUME ---
|
|
/musr/command construct box World 2100 2100 11000 G4_AIR 0 0 0 no_logical_volume norot dead -1
|
|
# --- BEAMPIPE ---
|
|
#/musr/command construct tubs beampipeA 0 2005 4500 0 360 G4_Galactic 0 0 -6100 log_World norot dead 230
|
|
#/musr/command construct tubs beampipe 0 405 500 0 360 G4_Galactic 0 0 -1100 log_World norot dead 231
|
|
#/musr/command construct tubs beampipeshell 100 105 500 0 360 G4_Al 0 0 0 log_beampipe norot dead 232
|
|
#/musr/command construct tubs beampipewindow 0 100 0.05 0 360 G4_MYLAR 0 0 499.9 log_beampipe norot dead 233
|
|
# PASSIVE COLLIMATOR (for BEAMPIPE vers.1)
|
|
# GPDcollimator - thickness in the thinner location is x2+(x9-x4) = 20+59-59
|
|
/musr/command construct GPDcollimator GPDcollimator 40 15 60 59 60.01 0 360 0 59 0 2.5 6 G4_Cu 0 0 -59 log_World matrix1 dead 251
|
|
/musr/command construct box Firstcollimator 70 70 15 G4_Pb 0 0 -100 log_World norot dead 255
|
|
/musr/command construct box Firstcollimatorhole 2 5 15 G4_Galactic 0 0 0 log_Firstcollimator norot dead 256
|
|
/musr/command construct box SecondCollimator 45 75 15 G4_Pb 0 0 -250 log_World norot dead 261
|
|
/musr/command construct tubs SecondCollHole 0 8 15 0 360 G4_Galactic 0 0 0 log_SecondCollimator norot dead 262
|
|
/musr/command construct box AlumPlate 60 90 5 G4_Al 0 0 -80 log_World norot dead 265
|
|
/musr/command construct tubs AlumPlateHole 0 25 5 0 360 G4_Galactic 0 0 0 log_AlumPlate norot dead 267
|
|
# --- SAMPLE HOLDER ---
|
|
/musr/command construct GPDsampleHolderA GPDsampleHolderA 0 0 0 0 0 G4_Al 0 -111.25 0 log_World matrix1 dead 300
|
|
/musr/command construct tubs GPDsampleHolderB 37.51 58 7 0 360 G4_Al 0 57 0 log_World matrix1 dead 301
|
|
/musr/command construct tubs GPDsampleHolderC 37.51 58 7 0 360 G4_Al 0 -57 0 log_World matrix1 dead 302
|
|
/musr/command construct box GPDsampleHolderD 12 0.5 50 G4_Al 38 0 28 log_World matrix1 dead 303
|
|
/musr/command construct box GPDsampleHolderE 12 0.5 50 G4_Al 38 0 -28 log_World matrix1 dead 304
|
|
/musr/command construct box GPDsampleHolderF 12 0.5 50 G4_Al -38 0 28 log_World matrix1 dead 305
|
|
/musr/command construct box GPDsampleHolderG 12 0.5 50 G4_Al -38 0 -28 log_World matrix1 dead 306
|
|
/musr/command construct tubs GPDsampleHolderH 0 9 50 180 50 G4_Al 48 0 29 log_World matrix1 dead 307
|
|
/musr/command construct tubs GPDsampleHolderI 0 9 50 130 50 G4_Al 48 0 -29 log_World matrix1 dead 308
|
|
/musr/command construct tubs GPDsampleHolderJ 0 9 50 310 50 G4_Al -48 0 29 log_World matrix1 dead 309
|
|
/musr/command construct tubs GPDsampleHolderK 0 9 50 0 50 G4_Al -48 0 -29 log_World matrix1 dead 310
|
|
#
|
|
/musr/command construct tubs GPDsampleHolderW 58.01 58.2 64 25 130 G4_POLYETHYLENE 0 0 0 log_World matrix1 dead 313
|
|
/musr/command construct tubs GPDsampleHolderX 58.01 58.2 64 205 130 G4_POLYETHYLENE 0 0 0 log_World matrix1 dead 314
|
|
/musr/command construct tubs GPDsampleHolderY 36.79 36.99 64 45 90 G4_POLYETHYLENE 0 0 0 log_World matrix1 dead 315
|
|
/musr/command construct tubs GPDsampleHolderZ 36.79 36.99 64 225 90 G4_POLYETHYLENE 0 0 0 log_World matrix1 dead 316
|
|
# --- SAMPLE CELL ---
|
|
/musr/command construct tubs GPDsampleCell 0 12 50 0 360 G4_Cu 0 0 0 log_World matrix1 dead 211
|
|
# --- SAMPLE ---
|
|
/musr/command construct tubs target 0 3.5 7 0 360 G4_Cu 0 0 0 log_GPDsampleCell norot dead 201
|
|
#/musr/command construct tubs targetFieldVol 0 3.5 7 0 360 G4_Cu 0 0 0 log_GPDsampleCell norot dead 201
|
|
# --- SCINTILLATOR ---
|
|
/musr/command construct box ScintB1 13 45 2.5 G4_PLASTIC_SC_VINYLTOLUENE 22 0 -40 log_World matrix2 musr/ScintSD 1
|
|
/musr/command construct box ScintB2 13 45 2.5 G4_PLASTIC_SC_VINYLTOLUENE -22 0 -40 log_World matrix3 musr/ScintSD 2
|
|
/musr/command construct box ScintF1 13 45 2.5 G4_PLASTIC_SC_VINYLTOLUENE -22 0 40 log_World matrix2 musr/ScintSD 11
|
|
/musr/command construct box ScintF2 13 45 2.5 G4_PLASTIC_SC_VINYLTOLUENE 22 0 40 log_World matrix3 musr/ScintSD 12
|
|
/musr/command construct box ScintF3 7 45 2.5 G4_PLASTIC_SC_VINYLTOLUENE 0 0 46 log_World norot musr/ScintSD 13
|
|
#/musr/command construct box KoincB1 20 90 2.5 G4_PLASTIC_SC_VINYLTOLUENE 33 0 -60 log_World matrix2 musr/ScintSD 21
|
|
#/musr/command construct box KoincB2 20 90 2.5 G4_PLASTIC_SC_VINYLTOLUENE -33 0 -60 log_World matrix3 musr/ScintSD 22
|
|
# --- M0 ---
|
|
/musr/command construct box M0 5 5 1.0 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -46 log_World matrix4 musr/ScintSD 102
|
|
#/musr/command construct GPDmHolder GPDmHolder 5 25 1.0 G4_PLASTIC_SC_VINYLTOLUENE 0 -25 -46 log_World norot dead 103
|
|
# --- Magnet ---
|
|
#/musr/command construct tubs Magnet1 180 375 78 0 360 G4_Cu 133 0 0 log_World matrix5 dead 291
|
|
#/musr/command construct tubs Magnet2 180 375 78 0 360 G4_Cu -133 0 0 log_World matrix5 dead 292
|
|
#/musr/command construct uprofile Uprof1 25 10 400 5 G4_Al -45 0 200 log_World matrix6 dead 293
|
|
#/musr/command construct uprofile Uprof2 25 10 400 5 G4_Al -45 0 -200 log_World matrix6 dead 293
|
|
#/musr/command construct uprofile Uprof3 25 10 400 5 G4_Al 45 0 200 log_World matrix7 dead 293
|
|
#/musr/command construct uprofile Uprof4 25 10 400 5 G4_Al 45 0 -200 log_World matrix7 dead 293
|
|
#
|
|
##---------------------------------------------------------
|
|
#/musr/command logicalVolumeToBeReweighted mu log_pbCollimator_1 6
|
|
#/musr/command logicalVolumeToBeReweighted mu log_pbCollimator_2 5
|
|
#/musr/command logicalVolumeToBeReweighted mu log_activeCollim 4
|
|
##---------------------------------------------------------
|
|
/musr/command visattributes log_World invisible
|
|
/musr/command visattributes G4_PLASTIC_SC_VINYLTOLUENE blue
|
|
#/musr/command visattributes log_GPDsampleHolderD red
|
|
#/musr/command visattributes log_GPDsampleHolderE red
|
|
#/musr/command visattributes log_GPDsampleHolderF red
|
|
#/musr/command visattributes log_GPDsampleHolderG red
|
|
/musr/command visattributes log_GPDcollimator green
|
|
/musr/command visattributes log_Firstcollimator green
|
|
/musr/command visattributes log_Firstcollimatorhole green
|
|
/musr/command visattributes log_SecondCollimator green
|
|
/musr/command visattributes log_SecondCollHole green
|
|
#/musr/command visattributes log_GPDmHolder magenta
|
|
#/musr/command visattributes log_target blue
|
|
/musr/command visattributes log_M0 red
|
|
#/musr/command visattributes G4_Pb blue
|
|
####################################################################################
|
|
######################### M A G N E T I C F I E L D #########################
|
|
###################################################################################
|
|
# Set magnetic field (set field intensity in T and sigma in mm)
|
|
# syntax for magneticfield: fromfile filename fieldValue
|
|
# uniform fieldValue
|
|
# gaussian fieldValue sigma
|
|
#
|
|
/musr/command globalfield centralSolenoidField 0. 0. 0. fromfile 2D GPD_coil_primitive.table log_target 0.03
|
|
/musr/command globalfield setparameter SetLargestAcceptableStep 200
|
|
/musr/command globalfield setparameter SetMinimumEpsilonStep 5e-5
|
|
/musr/command globalfield setparameter SetMaximumEpsilonStep 0.001
|
|
/musr/command globalfield setparameter SetDeltaOneStep 0.1
|
|
/musr/command globalfield setparameter SetDeltaIntersection 0.01
|
|
/musr/command globalfield printparameters
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 0
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 10
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 20
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 30
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 50
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 100
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 200
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 300
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 400
|
|
/musr/command globalfield printFieldValueAtPoint 0 0 500
|
|
/musr/command globalfield printFieldValueAtPoint 10 0 0
|
|
/musr/command globalfield printFieldValueAtPoint 100 0 0
|
|
/musr/command globalfield printFieldValueAtPoint 300 0 0
|
|
/musr/command globalfield printFieldValueAtPoint 0 10 0
|
|
/musr/command globalfield printFieldValueAtPoint 0 100 0
|
|
/musr/command globalfield printFieldValueAtPoint 0 300 0
|
|
###################################################################################
|
|
######################### P H Y S I C S P R O C E S S E S ##################
|
|
###################################################################################
|
|
# Geant 4.9.4
|
|
/musr/command process addDiscreteProcess gamma G4PhotoElectricEffect
|
|
/musr/command process addDiscreteProcess gamma G4ComptonScattering
|
|
/musr/command process addDiscreteProcess gamma G4GammaConversion
|
|
/musr/command process addDiscreteProcess gamma G4RayleighScattering
|
|
/musr/command process addProcess e- G4eMultipleScattering -1 1 1
|
|
/musr/command process addProcess e- G4eIonisation -1 2 2
|
|
/musr/command process addProcess e- G4eBremsstrahlung -1 3 3
|
|
/musr/command process addProcess e+ G4eMultipleScattering -1 1 1
|
|
/musr/command process addProcess e+ G4eIonisation -1 2 2
|
|
/musr/command process addProcess e+ G4eBremsstrahlung -1 3 3
|
|
/musr/command process addProcess e+ G4eplusAnnihilation 0 -1 4
|
|
/musr/command process addProcess mu- G4MuMultipleScattering -1 1 1
|
|
/musr/command process addProcess mu- G4MuIonisation -1 2 2
|
|
/musr/command process addProcess mu- G4MuBremsstrahlung -1 3 3
|
|
/musr/command process addProcess mu- G4MuPairProduction -1 4 4
|
|
/musr/command process addProcess mu+ G4MuMultipleScattering -1 1 1
|
|
/musr/command process addProcess mu+ G4MuIonisation -1 2 2
|
|
/musr/command process addProcess mu+ G4MuBremsstrahlung -1 3 3
|
|
/musr/command process addProcess mu+ G4MuPairProduction -1 4 4
|
|
#
|
|
#/home/install/geant4.9.3/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc
|
|
######## /process/msc/StepLimit Minimal | UseDistanceToBoundary | UseSafety
|
|
/process/msc/StepLimit UseSafety
|
|
#/process/msc/LateralDisplacement
|
|
/process/msc/RangeFactor 0.04
|
|
/process/msc/GeomFactor 2.5
|
|
#/process/msc/FactorForAngleLimit
|
|
/process/msc/Skin 3.0
|
|
#/process/msc/ThetaLimit 0.2 rad
|
|
###################################################################################
|
|
################## S O M E O T H E R P A R A M E T E R S ##################
|
|
###################################################################################
|
|
# Store all events into the ROOT tree or just the interesting ones ? (true is default)
|
|
/musr/command storeOnlyEventsWithHits false
|
|
# Set the minimum time separation between two subsequent signals in the same detector (in ns)
|
|
/musr/command signalSeparationTime 10
|
|
#
|
|
#/musr/run/howOftenToPrintEvent 10
|
|
/musr/command maximumRunTimeAllowed 220000
|
|
/musr/run/randomOption 2
|
|
###################################################################################
|
|
######################### R O O T O U T P U T ##############################
|
|
###################################################################################
|
|
/musr/command rootOutput det_VvvKine off
|
|
/musr/command rootOutput det_VvvX off
|
|
/musr/command rootOutput det_VvvY off
|
|
/musr/command rootOutput det_VvvZ off
|
|
/musr/command rootOutput det_VvvVolID off
|
|
/musr/command rootOutput det_VvvProcID off
|
|
/musr/command rootOutput det_VvvTrackID off
|
|
/musr/command rootOutput det_VvvParticleID off
|
|
/musr/command rootOutput nOptPhot off
|
|
/musr/command rootOutput odet_ID off
|
|
/musr/command rootOutput odet_nPhot off
|
|
/musr/command rootOutput odet_timeFirst off
|
|
/musr/command rootOutput odet_timeA off
|
|
/musr/command rootOutput odet_timeB off
|
|
/musr/command rootOutput odet_timeC off
|
|
/musr/command rootOutput odet_timeD off
|
|
/musr/command rootOutput odet_timeE off
|
|
/musr/command rootOutput odet_timeLast off
|
|
###################################################################################
|
|
######################### V I S U A L I S A T I O N ##############################
|
|
###################################################################################
|
|
#/vis/disable
|
|
/control/execute visDawn201.mac
|
|
#/control/execute visVRML.mac
|
|
###################################################################################
|
|
######################### P A R T I C L E G U N #################################
|
|
###################################################################################
|
|
/gun/vertex 0 0 -1000 mm
|
|
/gun/vertexsigma 25 25 0 mm
|
|
#---/gun/vertexboundary: rMaxAllowed, zMinAllowed, zMaxAllowed
|
|
/gun/vertexboundary 100 -999999 999999 mm
|
|
/gun/momentum 100.0 MeV
|
|
# sigma = 3% ==> sigma 27*0.03 = 0.81
|
|
/gun/momentumsmearing 3.00 MeV
|
|
#---/gun/momentumboundary: pMinAllowed, pMaxAllowed, dummy
|
|
#/gun/momentumboundary 20 40 0 MeV
|
|
#---/gun/tilt: xangle, yangle, dummy
|
|
#/gun/tilt 0 0.5 0 deg
|
|
#---/gun/tiltsigma: xangleSigma, yangleSigma, dummy (1 degree on 1 meter ~ 17mm)
|
|
/gun/tiltsigma 0.15 0.15 0 deg
|
|
/gun/pitch 0.08 deg
|
|
/gun/muonPolarizVector 0 0 -1
|
|
#---/gun/decaytimelimits: decayMin, decayMax, decayTime
|
|
/gun/decaytimelimits -1 -1 2197.03 ns
|
|
###################################################################################
|
|
######################## B E A M O N #########################################
|
|
###################################################################################
|
|
#/run/beamOn 8000000
|
|
/run/beamOn 10
|