#----------------------------------------------------------------------- # 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 log_beampipewindow red /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_GPDcollimator2 blue /musr/command visattributes log_GPDmHolder magenta /musr/command visattributes log_target blue /musr/command visattributes log_M0 yellow #/musr/command visattributes G4_PLASTIC_SC_VINYLTOLUENE 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