#----------------------------------------------------------------------- # Macro file for muSR instrument simulations # 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 0 0 45 /musr/command rotation matrix2 0 180 0 # WORLD VOLUME /musr/command construct box World 300 300 2000 G4_Galactic 0 0 0 no_logical_volume norot dead -1 # ---- BEAMPIPE ---- # Between the face of the last quadrupole and the MANTEL, there is 395 mm distance # = tube with the same diameter as the MANTEL. # MANTEL /musr/command construct tubs mantel_A 159 165 210 0 360 G4_Al 0 0 -1152 log_World norot dead 8301 /musr/command construct tubs mantel_B 76.5 159 12.5 0 360 G4_Al 0 0 -954.5 log_World norot dead 8302 /musr/command construct tubs mantel_C 165 185 8.5 0 360 G4_Al 0 0 -1353.5 log_World norot dead 8303 # NEW HIGH FIELD "ZWICHENROHR" (Gezeichnet 7.2.2011) /musr/command construct tubs zwichenrohr_A 35 41 322 0 360 G4_Al 0 0 -620 log_World norot dead 8201 /musr/command construct tubs zwichenrohr_B 0 35 322 0 360 G4_Galactic 0 0 -620 log_World norot dead 8202 /musr/command construct tubs zwichenrohr_C 41 90 6 0 360 G4_Al 0 0 -936 log_World norot dead 8203 /musr/command construct tubs zwichenrohr_D 25 35 5 0 360 G4_Al 0 0 317 log_zwichenrohr_B norot dead 8204 # SECOND COLLIMATOR /musr/command construct tubs collimatorA2 7.5 35 25 0 360 G4_Cu 0 0 287 log_zwichenrohr_B norot dead 341 # NOSE EXTENSION /musr/command construct tubs noseExtensionA 15 25 2.0 0 360 G4_Al 0 0 -47 log_World norot dead 300 /musr/command construct tubs noseExtensionB 25 28 126.5 0 360 G4_Al 0 0 -171.5 log_World norot dead 302 /musr/command construct tubs noseExtensionC 28 41 4.0 0 360 G4_Al 0 0 -294 log_World norot dead 304 /musr/command construct tubs noseKaptonWindow 0 15 0.015 0 360 G4_KAPTON 0 0 -45.1 log_World norot dead 309 # COLLIMATOR #/musr/command construct tubs collimatorA 2.5 25 15 0 360 G4_Pb 0 0 -49 log_World norot dead 310 #/musr/command construct tubs collimatorB 5.0 25 10 0 360 G4_Pb 0 0 -74 log_World norot dead 312 #/musr/command construct tubs collimatorC 7.5 25 25 0 360 G4_Pb 0 0 -309 log_World norot dead 312 # COLLIMATOR /musr/command construct tubs collimatorA 2.5 25 15 0 360 G4_Pb 0 0 -64 log_World norot dead 310 /musr/command construct tubs collimatorB 3.5 25 10 0 360 G4_Pb 0 0 -89 log_World norot dead 312 /musr/command construct tubs collimatorC 5.0 25 10 0 360 G4_Pb 0 0 -109 log_World norot dead 314 # # ---- MAGNET ----- /musr/command construct tubs magnet 44.4 100 150 0 360 G4_Sn 0 0 0 log_World norot dead 221 # MAGNET WALL /musr/command construct tubs mag_wall 44.4 46.5 150 0 360 G4_Cu 0 0 0 log_magnet norot dead 222 # # ---- CRYOSTAT ---- /musr/command construct tubs cryo_1_cyl 7 7.5 13.0 0 360 G4_Al 0 0 2.5 log_World norot dead 511 /musr/command construct tubs cryo_1_window 0 7.0 0.005 0 360 G4_MYLAR 0 0 -5.4 log_World norot dead 513 /musr/command construct tubs cryo_1_cyl_b 9.8 10.5 16 0 360 G4_Al 0 0 32.5 log_World norot dead 515 /musr/command construct tubs cryo_1_flange_b 7 10.5 0.5 0 360 G4_Al 0 0 16 log_World norot dead 516 /musr/command construct cons cryo_1_conical 9.8 10.5 13.5 14.2 10 0 360 G4_Al 0 0 58.5 log_World norot dead 517 /musr/command construct tubs cryo_1_cyl_c 13.5 14.2 60 0 360 G4_Al 0 0 128.5 log_World norot dead 518 # /musr/command construct tubs cryo_2_cyl 15.5 16 33.0 0 360 G4_Al 0 0 13.0 log_World norot dead 521 /musr/command construct tubs cryo_2_flange 10 15.5 0.25 0 360 G4_Al 0 0 -19.75 log_World norot dead 522 /musr/command construct tubs cryo_2_window 0 11 0.005 0 360 G4_MYLAR 0 0 -20.1 log_World norot dead 523 /musr/command construct tubs cryo_2_flange_b 15.5 29.5 0.5 0 360 G4_Al 0 0 46.5 log_World norot dead 525 /musr/command construct tubs cryo_2_cyl_b 28.5 29.5 61.25 0 360 G4_Al 0 0 108.25 log_World norot dead 526 # /musr/command construct tubs cryo_3_cyl 18.0 18.5 33.0 0 360 G4_Al 0 0 8.5 log_World norot dead 531 /musr/command construct tubs cryo_3_flange 8 18.0 0.25 0 360 G4_Al 0 0 -24.25 log_World norot dead 532 /musr/command construct tubs cryo_3_window 0 9 0.005 0 360 G4_MYLAR 0 0 -24.6 log_World norot dead 533 /musr/command construct tubs cryo_3_flange_b 18.0 34.5 0.5 0 360 G4_Al 0 0 42 log_World norot dead 535 /musr/command construct tubs cryo_3_cyl_b 33.5 34.5 61.25 0 360 G4_Al 0 0 103.75 log_World norot dead 536 # /musr/command construct tubs cryo_4_cyl 20 21 31.25 0 360 G4_Al 0 0 4.25 log_World norot dead 541 /musr/command construct tubs cryo_4_flange 6 20 0.5 0 360 G4_Al 0 0 -26.5 log_World norot dead 542 /musr/command construct tubs cryo_4_window 0 7 0.005 0 360 G4_Ti 0 0 -27.1 log_World norot dead 543 /musr/command construct tubs cryo_4_flange_b 20 41 1 0 360 G4_Al 0 0 36.5 log_World norot dead 545 /musr/command construct tubs cryo_4_cyl_b 39 41 61.25 0 360 G4_Al 0 0 98.75 log_World norot dead 546 # # Back Flange 45 /musr/command construct tubs backFlangeA 30 34.5 1.5 0 360 G4_Al 0 0 22.75 log_World norot dead 240 /musr/command construct tubs backFlangeB 22.5 40.5 1.5 0 360 G4_Al 0 0 25.75 log_World norot dead 241 # Main Holder 45 /musr/command construct tubs mainHolder 30.19 34.19 21.2 0 360 G4_Al 0 0 0 log_World norot dead 250 # SPACER 45 /musr/command construct tubs spacer 29.88 34.5 4.9 0 360 G4_Al 0 0 -26.1 log_World norot dead 260 # MPPC Holder 45 /musr/command construct tubs frontLid1A 16.5 34.5 5.5 0 360 G4_Al 0 0 -36.5 log_World norot dead 270 /musr/command construct tubs frontLid1D 6.0 16.5 1.0 0 360 G4_Al 0 0 -32.0 log_World norot dead 277 # # Front Flange 45 /musr/command construct tubs frontLid2 6.0 34.5 1.5 0 360 G4_Al 0 0 -43.5 log_World norot dead 290 # # NOSE EXTENSION #/musr/command construct tubs noseExtensionA 15 25 2.0 0 360 G4_Al 0 0 -47 log_World norot dead 300 #/musr/command construct tubs noseExtensionB 25 28 126.5 0 360 G4_Al 0 0 -171.5 log_World norot dead 302 #/musr/command construct tubs noseExtensionC 28 41 4.0 0 360 G4_Al 0 0 -294 log_World norot dead 304 # # # M COUNTERS AND M COUNTER HOLDER /musr/command construct tubs M0_holder1 5.5 7.5 3.25 0 360 G4_Al 0 0 -36.31 log_World norot dead 330 /musr/command construct tubs M0_holder2 3.5 5.5 0.75 0 360 G4_PLEXIGLASS 0 0 -37.06 log_World norot dead 333 /musr/command construct tubs M0_holder3 4.0 5.5 0.75 0 360 G4_PLEXIGLASS 0 0 -35.56 log_World norot dead 335 /musr/command construct tubs M0 0 4 0.15 0 360 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -36.15 log_World norot musr/ScintSD 102 /musr/command construct tubs M0_electronics 4.0 9 0.85 0 360 G4_POLYCARBONATE 0 0 -40.41 log_World norot dead 337 # TARGET SPACE #/musr/command construct tubs targetspace 0 5 50 0 360 G4_He 0 0 -20 log_cryostat # SCINTILLATOR BEFORE TARGET #/musr/command construct tubs coulombM1 0 3.0 0.1 0 360 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -2 log_World norot musr/ScintSD 101 # TARGET /musr/command construct tubs target 0 2.5 0.215 0 360 G4_Ag 0 0 0 log_World norot dead 201 /musr/command construct tubs targetFieldVol 0 0.5 0.015 0 360 G4_Ag 0 0 0 log_target norot dead 202 #/musr/command construct tubs vetoTarget 0 5.0 1. 0 360 G4_PLASTIC_SC_VINYLTOLUENE 0 0 1.220 log_World norot musr/ScintSD 160 #/musr/command construct tubs vetoCyl 5 6.0 3.6 0 360 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -1.39 log_World norot musr/ScintSD 161 #/musr/command construct TubeWithTubeHole vetoTarget 7 9 5.1 0 360 8.2 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -2.89 log_World norot musr/ScintSD 160 #/musr/command construct TubeWithHoleAndTubeHole vetoTarget 1.5 6 5.1 0 360 4 8.2 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -2.89 log_World norot musr/ScintSD 160 /musr/command construct tubs sampleHolder 0 4 31.39 0 360 G4_Ag 0 0 31.61 log_World norot dead 165 /musr/command construct tubs sampleHolder2 0 7.5 108.5 0 360 G4_Ag 0 0 171.5 log_World norot dead 166 # /musr/command construct box ScintB1 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 0.00 25.50 -8.75 log_World norot musr/ScintSD 1 /musr/command construct box ScintB2 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE -18.03 18.03 -8.75 log_World matrix1 musr/ScintSD 2 /musr/command construct box ScintB3 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE -25.50 0.00 -8.75 log_World norot musr/ScintSD 3 /musr/command construct box ScintB4 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE -18.03 -18.03 -8.75 log_World matrix1 musr/ScintSD 4 /musr/command construct box ScintB5 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 0.00 -25.50 -8.75 log_World norot musr/ScintSD 5 /musr/command construct box ScintB6 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 18.03 -18.03 -8.75 log_World matrix1 musr/ScintSD 6 /musr/command construct box ScintB7 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE 25.50 0.00 -8.75 log_World norot musr/ScintSD 7 /musr/command construct box ScintB8 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE 18.03 18.03 -8.75 log_World matrix1 musr/ScintSD 8 /musr/command construct box ScintF1 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 0.00 25.50 8.75 log_World norot musr/ScintSD 11 /musr/command construct box ScintF2 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE -18.03 18.03 8.75 log_World matrix1 musr/ScintSD 12 /musr/command construct box ScintF3 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE -25.50 0.00 8.75 log_World norot musr/ScintSD 13 /musr/command construct box ScintF4 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE -18.03 -18.03 8.75 log_World matrix1 musr/ScintSD 14 /musr/command construct box ScintF5 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 0.00 -25.50 8.75 log_World norot musr/ScintSD 15 /musr/command construct box ScintF6 8.75 2.50 8.75 G4_PLASTIC_SC_VINYLTOLUENE 18.03 -18.03 8.75 log_World matrix1 musr/ScintSD 16 /musr/command construct box ScintF7 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE 25.50 0.00 8.75 log_World norot musr/ScintSD 17 /musr/command construct box ScintF8 2.50 8.75 8.75 G4_PLASTIC_SC_VINYLTOLUENE 18.03 18.03 8.75 log_World matrix1 musr/ScintSD 18 # /musr/command construct TubeWithHolePlusTubeHole PlexyCyl1 3.5 12.3 4.5 0 360 7 12.5 5 G4_PLEXIGLASS 0 0 -10. log_World matrix2 dead 45 /musr/command construct tubs PlexyCyl2 7.6 12.3 2.5 0 360 G4_PLEXIGLASS 0 0 11.5 log_World norot dead 46 /musr/command construct TubeWithHolePlusTubeHole vetoCyl 2.5 12. 5. 0 360 3.5 12 9 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -10.5 log_World matrix2 musr/ScintSD 51 /musr/command construct tubs vetoCylB1 8.25 11.25 4 69.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 61 /musr/command construct tubs vetoCylB2 8.25 11.25 4 114.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 62 /musr/command construct tubs vetoCylB3 8.25 11.25 4 159.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 63 /musr/command construct tubs vetoCylB4 8.25 11.25 4 204.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 64 /musr/command construct tubs vetoCylB5 8.25 11.25 4 249.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 65 /musr/command construct tubs vetoCylB6 8.25 11.25 4 294.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 66 /musr/command construct tubs vetoCylB7 8.25 11.25 4 339.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 67 /musr/command construct tubs vetoCylB8 8.25 11.25 4 24.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 -4.5 log_World norot musr/ScintSD 68 /musr/command construct tubs vetoCylF1 8.25 11.25 4 69.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 71 /musr/command construct tubs vetoCylF2 8.25 11.25 4 114.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 72 /musr/command construct tubs vetoCylF3 8.25 11.25 4 159.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 73 /musr/command construct tubs vetoCylF4 8.25 11.25 4 204.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 74 /musr/command construct tubs vetoCylF5 8.25 11.25 4 249.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 75 /musr/command construct tubs vetoCylF6 8.25 11.25 4 294.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 76 /musr/command construct tubs vetoCylF7 8.25 11.25 4 339.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 77 /musr/command construct tubs vetoCylF8 8.25 11.25 4 24.5 41 G4_PLASTIC_SC_VINYLTOLUENE 0 0 4.5 log_World norot musr/ScintSD 78 # #--------------------------------------------------------- # /musr/command visattributes G4_PLASTIC_SC_VINYLTOLUENE red /musr/command visattributes G4_PLEXIGLASS yellow /musr/command visattributes G4_Pb blue #/musr/command visattributes log_beampipe invisible #/musr/command visattributes log_beampipeAshell invisible #/musr/command visattributes log_beampipeBshell invisible /musr/command visattributes log_World invisible /musr/command visattributes log_target yellow /musr/command visattributes log_magnet invisible /musr/command visattributes log_mag_wall invisible #/musr/command visattributes log_magnet yellow #/musr/command visattributes log_mag_wall yellow #/musr/command visattributes log_sh0 invisible #/musr/command visattributes log_sh2 invisible #/musr/command visattributes log_vetoTarget green /musr/command visattributes log_vetoCyl green ################################################################################### ######################### 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 x10cm_z2m.table log_targetFieldVol -10. /musr/command globalfield setparameter SetLargestAcceptableStep 2 /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 ################################################################################### ######################### P H Y S I C S P R O C E S S E S ################## ################################################################################### # Geant 4.9.5 /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 ################## ################################################################################### # Set the overall range cut #/run/setCut 1 mm # Set the range cut on a particular volumes (in mm) /musr/command SetUserLimits log_target 0.01 #/musr/command SetUserLimits log_targetscint 0.01 /musr/command SetUserLimits log_M0 0.01 # 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 0.1 # /musr/run/howOftenToPrintEvent 100000 /musr/command maximumRunTimeAllowed 86000 /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 ################################################################################### ######################### V I S U A L I S A T I O N ############################## ################################################################################### /vis/disable #/control/execute visVRML.mac #/control/execute visFromToni.mac #/control/execute visDawn14010.mac #/vis/open VRML2FILE #/vis/open DAWNFILE ### (if too many tracks cause core dump => storeTrajectory 0) #/vis/scene/create # #/tracking/storeTrajectory 1 #/vis/viewer/set/viewpointThetaPhi 90 0 ##/vis/viewer/set/globalLineWidthScale 3 #/vis/viewer/zoom 30 ###/vis/scene/add/trajectories #/vis/drawVolume #/vis/viewer/flush ####/hits/verbose 2 ################################################################################### ######################### P A R T I C L E G U N ################################# ################################################################################### /gun/vertex 0 0 -1000 mm # FWHM 10mm ==> sigma = 10/2.354 = 4.2481mm #/gun/vertexsigma 20 20 0 mm #---/gun/vertexboundary: rMaxAllowed, zMinAllowed, zMaxAllowed /gun/vertexboundary 128 -999999 999999 mm #/gun/momentum 27.0 MeV # sigma = 3% ==> sigma 27*0.03 = 0.81 #/gun/momentumsmearing 0.81 MeV #---/gun/momentumboundary: pMinAllowed, pMaxAllowed, dummy #/gun/momentumboundary 20 40 0 MeV # TURTLE #/gun/turtlefilename FOR061_2008_04_22.DAT #/gun/turtlefilename FOR070_2008_10_17_XXII.DAT #/gun/turtlefilename FOR077_pie3_HiField_d05_x30.dat #/gun/turtlefilename FOR077_reggiani_Jan2010_NEW.dat /gun/turtlefilename FOR077_reggiani_Feb2010.dat #/gun/turtleZ0position -900 mm #---/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.2 0.2 0 deg #/gun/pitch 0.5 deg /gun/muonPolarizVector 1 0 0 #---/gun/decaytimelimits: decayMin, decayMax, decayTime /gun/decaytimelimits 400 410 2197.03 ns #/gun/decaytimelimits -1 -1 2197.03 ns ################################################################################### ######################## B E A M O N ######################################### ################################################################################### #/run/beamOn 3000000 /run/beamOn 1000 #/run/beamOn 1000000