Geant4 Cross Reference |
1 1 2 ========================================= 2 ========================================================= 3 Geant4 - an Object-Oriented Toolkit for S 3 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 4 ========================================= 4 ========================================================= 5 5 6 6 7 7 8 field04 Example 8 field04 Example 9 --------------- 9 --------------- 10 10 11 This example shows how to define/use OVER << 11 This example shows how to define/use OVERLAPPING field elements 12 in Geant4. Fields might be either magneti 12 in Geant4. Fields might be either magnetic, electric or both. 13 13 14 Credit goes to Tom Roberts and Muons Inc. 14 Credit goes to Tom Roberts and Muons Inc. since much of the code 15 and ideas were taken at liberty from the << 15 and ideas were taken at liberty from the (GNU GPL) source of 16 G4BEAMLINE release 1.12. 16 G4BEAMLINE release 1.12. 17 17 18 http://g4beamline.muonsinc.com 18 http://g4beamline.muonsinc.com 19 19 20 ************** 20 ************** 21 *Classes Used* 21 *Classes Used* 22 ************** 22 ************** 23 23 24 1 - main() 24 1 - main() 25 25 26 See field04.cc. 26 See field04.cc. >> 27 >> 28 Note: 27 29 28 The example can be run with the follow << 30 // runManager->Initialize(); 29 31 30 % field04 [-m macro ] [-p physicsList] << 32 is commented out and must be executed with: /run/initialize >> 33 either in a macro or on the command line. Note: One can change >> 34 the geometry (see below) only BEFORE the initialization! 31 35 32 If a macro is provided with the option << 36 Is is possible to assign the F04PhysicsList via an argument to 33 otherwise the program open the interac << 37 program submission: 34 default initialization macro init_vis. << 35 to start the program without initializ << 36 38 37 For example: << 38 to assign the F04PhysicsList: << 39 % field04 -p QGSP_BERT 39 % field04 -p QGSP_BERT 40 40 41 an initial random number seed with: << 41 and an initial random number seed with: 42 % field04 field04.in -r 12345 << 43 42 44 to start with a macro file and an init << 43 % field04 field04.in 12345 45 % field04 -m field04.in -r 12345 << 44 >> 45 It is also possible to specify more than one macro file which are >> 46 then executed in succession: >> 47 >> 48 % field04 field04.in field04.in 12345 >> 49 >> 50 (Note, in this case the initial random # must also be provided) >> 51 >> 52 (1) argc holds the number of arguments on the command line. Since >> 53 this MUST include at least the program name, argc value is >= 1! >> 54 (2) argv[0] is always the name of the program >> 55 argv[1] points to the first argument, and so on ... >> 56 (3) argv[argc-1] is assumed to be the intial random # seed >> 57 (4) the loop over macro files goes from optind = 1 to (argc-1) 46 58 47 59 48 2- GEOMETRY DEFINITION 60 2- GEOMETRY DEFINITION 49 61 50 The geometry consists of two solenoida 62 The geometry consists of two solenoidal magnets: a "CaptureMgnt" 51 followed by a (blue-colored "TransferM 63 followed by a (blue-colored "TransferMgnt". By definition, the 52 axis and center of the "CaptureMgnt" c 64 axis and center of the "CaptureMgnt" coincide with the "World". The 53 position of the "TransferMgnt" relativ 65 position of the "TransferMgnt" relative to the downstream end of the 54 "CaptureMgnt", as well as its axis ang 66 "CaptureMgnt", as well as its axis angle, both may vary. A cylindrical 55 "Target" is positioned inside the "Cap 67 "Target" is positioned inside the "CaptureMgnt". Its axis can vary 56 from 0 to 180 deg, and hence also the 68 from 0 to 180 deg, and hence also the direction of the incoming 57 proton beam wrt the "CaptureMgnt"'s ax 69 proton beam wrt the "CaptureMgnt"'s axis. A "Degrader" is located 58 inside the "TransferMgnt", its default 70 inside the "TransferMgnt", its default position being at the 59 upstream end of the "TransferMgnt". Fi 71 upstream end of the "TransferMgnt". Finally, also a "TestPlane" is 60 located inside the "TransferMgnt", by 72 located inside the "TransferMgnt", by default at its downstream end. 61 73 62 74 63 The "World" consists of a solid cylind 75 The "World" consists of a solid cylinder made of a given material. 64 (It is the responsibility of the use 76 (It is the responsibility of the user to make the world 65 large enough to contain the rest of 77 large enough to contain the rest of the geometry!) 66 78 67 Three parameters define the world : 79 Three parameters define the world : 68 - the material of the world, 80 - the material of the world, 69 - the world radius, 81 - the world radius, 70 - the world length. 82 - the world length. 71 83 72 Example (default values): 84 Example (default values): 73 /field04/SetWorldMat G4_AIR 85 /field04/SetWorldMat G4_AIR 74 /field04/SetWorldR 5.0 m 86 /field04/SetWorldR 5.0 m 75 /field04/SetWorldZ 50.0 m 87 /field04/SetWorldZ 50.0 m 76 88 77 89 78 The "Target" is a solid cylinder made 90 The "Target" is a solid cylinder made of a given material. 79 91 80 Five parameters define the target: 92 Five parameters define the target: 81 - the material of the target, 93 - the material of the target, 82 - the target radius, 94 - the target radius, 83 - the target thickness, 95 - the target thickness, 84 - the target position inside the "Capt 96 - the target position inside the "CaptureMgnt", 85 - the target axis angle relative to th 97 - the target axis angle relative to that of the "CaptureMgnt". 86 98 87 Example (default values): 99 Example (default values): 88 /field04/SetTgtMat G4_W 100 /field04/SetTgtMat G4_W 89 /field04/SetTgtRad 0.4 cm 101 /field04/SetTgtRad 0.4 cm 90 /field04/SetTgtThick 16.0 cm 102 /field04/SetTgtThick 16.0 cm 91 /field04/SetTgtPos 0.0 cm 103 /field04/SetTgtPos 0.0 cm 92 /field04/SetTgtAng 170 104 /field04/SetTgtAng 170 93 105 94 106 95 The "Degrader" is a solid cylinder ma 107 The "Degrader" is a solid cylinder made of a given material. 96 108 97 Four parameters define the degrader: 109 Four parameters define the degrader: 98 - the material of the degrader, 110 - the material of the degrader, 99 - the degrader radius, 111 - the degrader radius, 100 - the degrader thickness, 112 - the degrader thickness, 101 - the degrader position relative to th 113 - the degrader position relative to the "TransferMgnt" center. 102 114 103 Example (default values): 115 Example (default values): 104 /field04/SetDgrMat G4_Pb 116 /field04/SetDgrMat G4_Pb 105 /field04/SetDgrRad 30.0 cm 117 /field04/SetDgrRad 30.0 cm 106 /field04/SetDgrThick 0.1 cm 118 /field04/SetDgrThick 0.1 cm 107 #/field04/SetDgrPos -7.4 m 119 #/field04/SetDgrPos -7.4 m 108 120 109 121 110 The "CaptureMgnt" is a solenoid (vacuu 122 The "CaptureMgnt" is a solenoid (vacuum cylinder). It is either 111 a two-sided or a one-sided magnetic bo 123 a two-sided or a one-sided magnetic bottle with the B field 112 varying linearly from the center value 124 varying linearly from the center value B1 to the edge value B2. 113 The one-sided F04FocusSolenoid has the 125 The one-sided F04FocusSolenoid has the open end at +z and focuses 114 on the z < 0 side. 126 on the z < 0 side. 115 127 116 Four parameters define the "CaptureMgn 128 Four parameters define the "CaptureMgnt": 117 - the magnet radius, 129 - the magnet radius, 118 - the magnet length, 130 - the magnet length, 119 - the weaker magnetic field at the cen 131 - the weaker magnetic field at the center B1 120 - the stronger magnetic field at the e 132 - the stronger magnetic field at the edge B2 121 133 122 Example (default values): 134 Example (default values): 123 /field04/SetCaptureR 0.6 m << 135 /field04/SetCaptureR 0.6 m 124 /field04/SetCaptureZ 4.0 m 136 /field04/SetCaptureZ 4.0 m 125 /field/SetCaptureB1 2.5 tesla << 137 /field/SetCaptureB1 2.5 tesla 126 /field/SetCaptureB2 5.0 tesla 138 /field/SetCaptureB2 5.0 tesla 127 139 128 140 129 The "TransferMgnt" is a solenoid (vacu << 141 The "TransferMgnt" is a solenoid (vacuum cylinder) with a 130 constant B-field. When the "TransferMg 142 constant B-field. When the "TransferMgnt" follows immediately 131 the "CaptureMgnt", its relative positi 143 the "CaptureMgnt", its relative position is at 0 cm. 132 144 133 Four parameters define the "TransferMg 145 Four parameters define the "TransferMgnt": 134 - the magnet radius, 146 - the magnet radius, 135 - the magnet length, 147 - the magnet length, 136 - the magnet field, 148 - the magnet field, 137 - the magnet relative position 149 - the magnet relative position 138 (its upstream face wrt the downstrea 150 (its upstream face wrt the downstream face of the "CaptureMgnt".) 139 151 140 Example (default values): 152 Example (default values): 141 /field04/SetTransferR 0.3 m 153 /field04/SetTransferR 0.3 m 142 /field04/SetTransferZ 15.0 m 154 /field04/SetTransferZ 15.0 m 143 /field/SetTransferB 5.0 tesla 155 /field/SetTransferB 5.0 tesla 144 /field04/SetTransferP 0.0 m 156 /field04/SetTransferP 0.0 m 145 157 146 The default geometry is constructed in 158 The default geometry is constructed in F04DetectorConstruction class, 147 but all the parameters can be changed << 159 but all the parameters can be changed via the commands defined in 148 the F04DetectorMessenger class. 160 the F04DetectorMessenger class. 149 161 150 162 151 3- MATERIAL DEFINITION 163 3- MATERIAL DEFINITION 152 164 153 Material definitions are done through 165 Material definitions are done through the singleton class F04Materials 154 which keeps a pointer to the G4NistMan 166 which keeps a pointer to the G4NistManager. It has a method 155 GetMaterial by name (G4String) which i 167 GetMaterial by name (G4String) which in turn invokes the 156 G4NistManager::FindOrBuildMaterial, an 168 G4NistManager::FindOrBuildMaterial, and/or G4Material::GetMaterial 157 methods. It has also a method CreateMa 169 methods. It has also a method CreateMaterials which, for materials 158 absent from the NIST data base, shows 170 absent from the NIST data base, shows how to create them using the 159 G4NistManager::ConstructNewMaterial me 171 G4NistManager::ConstructNewMaterial method. 160 172 161 173 162 4- AN EVENT: THE PRIMARY GENERATOR 174 4- AN EVENT: THE PRIMARY GENERATOR 163 175 164 The primary kinematic consists of a si 176 The primary kinematic consists of a single particle which hits the 165 target perpendicular to its upstream f 177 target perpendicular to its upstream face. The type of the particle 166 and its energy are set in the F04Prima 178 and its energy are set in the F04PrimaryGeneratorAction class, and can 167 be changed via the G4 build-in command 179 be changed via the G4 build-in commands of the G4ParticleGun class. 168 In addition, there is a fRndmFlag, whi 180 In addition, there is a fRndmFlag, which once set allows the beam to 169 explore randomly the whole cross secti 181 explore randomly the whole cross section of the target. The default 170 beam consists of 500 MeV protons, star 182 beam consists of 500 MeV protons, starting at the upstream face of 171 the target, directed along dx = dy = 0 183 the target, directed along dx = dy = 0, dz = 1 wrt the target frame. 172 The default direction should NOT be ch 184 The default direction should NOT be changed! The arguments of the 173 x/y/zvertex commands are relative to t 185 x/y/zvertex commands are relative to the target center. 174 186 175 Example: 187 Example: 176 /gun/random on 188 /gun/random on 177 #/gun/xvertex 0 mm 189 #/gun/xvertex 0 mm 178 #/gun/yvertex 0 mm 190 #/gun/yvertex 0 mm 179 #/gun/zvertex -100 mm 191 #/gun/zvertex -100 mm 180 192 181 193 182 5- DETECTOR RESPONSE 194 5- DETECTOR RESPONSE 183 195 184 Information is extracted from the prog 196 Information is extracted from the program via F04SteppingAction 185 at the TestPlane. 197 at the TestPlane. 186 198 187 199 188 6- PHYSICS << 200 6- PHYSICS >> 201 >> 202 The F04PhysicsList is adopted from examples/extended/hadronic/Hadr01. >> 203 It uses components which are distributed with Geant4 in >> 204 /geant4/physics_lists subdirectory. So, before compiling field04 >> 205 it is necessary to compile physics_lists. >> 206 >> 207 There are two std::vector<G4VPhysicsConstructor*> PhysicsListVectors; >> 208 one for EMPhysics and one for HadronPHysics and a user defined process >> 209 F04StepMax. >> 210 >> 211 The choice of the physics is provided by the UI command: >> 212 >> 213 /exp/phys/addPhysics emstandard_opt1 >> 214 /exp/phys/addPhysics QGSP_BERT >> 215 >> 216 To see the list of available configurations one can use: >> 217 >> 218 /exp/phys/list >> 219 >> 220 The command: >> 221 >> 222 /exp/phys/addPhysics PHYSLIST >> 223 >> 224 allows to download a physics configuration defined by an >> 225 environment variable PHYSLIST. >> 226 >> 227 The cuts for electromagnetic phsyics can be established via: >> 228 >> 229 /exp/phys/allCuts 1 mm >> 230 /exp/phys/gammaCut 0.1 mm >> 231 /exp/phys/electronCut 0.2 mm >> 232 /exp/phys/positronCut 0.3 mm >> 233 >> 234 The cut for the F04StepMax process via: >> 235 >> 236 /exp/phys/stepMax 189 237 190 The F04PhysicsList extends a selected << 238 The two G4PhysConstVectors can be cleared via: 191 The base physics list name is provided << 192 constructor. << 193 << 194 In addition to processes defined in th << 195 there is added the F04StepMax process << 196 via dedicated commands in F04PhysicsLi << 197 239 198 The command to define maximum step: << 240 /exp/phys/clearEMPhysics 199 /exp/phys/stepMax value unit << 241 /exp/phys/clearHadronPhysics >> 242 >> 243 and individual processes can be removed from the vectors via, >> 244 for example: >> 245 >> 246 /exp/phys/removeEMPhysics msc >> 247 /exp/phys/removeHadronPhysics gamma_nuc >> 248 >> 249 Furthermore, the following commands are also available, but >> 250 may only be used AFTER /run/initialize >> 251 >> 252 /process/inactivate msc >> 253 /process/activate msc 200 254 201 The decay of pions can be assigned via 255 The decay of pions can be assigned via (pi -> e nu, pi -> mu nu): 202 256 203 /decay/pienu 257 /decay/pienu 204 /decay/pimunu 258 /decay/pimunu 205 259 206 The pienu assignment includes a small 260 The pienu assignment includes a small fraction of radiative decay: 207 e nu gamma (G4PionRadiativeDecayChanne 261 e nu gamma (G4PionRadiativeDecayChannel). 208 262 209 The standard/default muon decay chain 263 The standard/default muon decay chain is modified to be 98.6% 210 G4MuonDecayChannelWithSpin and 1.4% G4 264 G4MuonDecayChannelWithSpin and 1.4% G4MuonRadiativeDecayChannelWithSpin 211 in ConstructParticle(). 265 in ConstructParticle(). 212 266 213 The pion decay process G4PolDecay inhe 267 The pion decay process G4PolDecay inherits from G4Decay and implements 214 the virtual method - empty in the base 268 the virtual method - empty in the base class - DaughterPolarization 215 269 216 The muon decay process is G4DecayWithS 270 The muon decay process is G4DecayWithSpin 217 271 218 Furthermore, the following commands ar << 219 may only be used AFTER /run/initialize << 220 << 221 /process/inactivate msc << 222 /process/activate msc << 223 272 224 7- Overlapping Fields 273 7- Overlapping Fields 225 274 226 The F04GlobalField (a singleton) is in << 275 The F04GlobalField (a singleton) is instantiated in 227 F04DetectorConstruction() and assigned << 276 F04DetectorConstruction() and assigned to the global field manager 228 in UpdateField(): 277 in UpdateField(): 229 278 230 fFieldManager = GetGlobalFieldManager( 279 fFieldManager = GetGlobalFieldManager(); 231 fFieldManager->SetDetectorField(this); 280 fFieldManager->SetDetectorField(this); 232 281 233 The F04GlobalField has a std::vector<E 282 The F04GlobalField has a std::vector<ElementField*> FieldList 234 283 235 The field from each individual beamlin 284 The field from each individual beamline element is given by a 236 F04ElementField object. Any number of 285 F04ElementField object. Any number of overlapping F04ElementField 237 objects can be added to the F04GlobalF 286 objects can be added to the F04GlobalField. Any element that 238 represents an element with an EM field 287 represents an element with an EM field must add the appropriate 239 F04ElementField to the global F04Globa 288 F04ElementField to the global F04GlobalField object. 240 289 241 Of course, the F04GlobalField has the 290 Of course, the F04GlobalField has the method GetFieldValue implemented. 242 291 243 Before /run/initialize in the macro fi 292 Before /run/initialize in the macro file or command, the update 244 field command must have been issued if 293 field command must have been issued if any of the other following 245 field commands was employed: 294 field commands was employed: 246 295 247 /field/update 296 /field/update 248 297 249 Other options are: 298 Other options are: 250 299 251 /field/setStepperType 4 300 /field/setStepperType 4 252 /field/setMinStep 10 mm 301 /field/setMinStep 10 mm 253 /field/setDeltaChord 3.0 mm 302 /field/setDeltaChord 3.0 mm 254 /field/setDeltaOneStep 0.01 mm 303 /field/setDeltaOneStep 0.01 mm 255 /field/setDeltaIntersection 0.1 mm 304 /field/setDeltaIntersection 0.1 mm 256 /field/setEpsMin 2.5e-7 mm 305 /field/setEpsMin 2.5e-7 mm 257 /field/setEpsMax 0.05 mm 306 /field/setEpsMax 0.05 mm 258 << 307 259 Each field element has a rectilinear b 308 Each field element has a rectilinear bounding box in global 260 coordinate space which is checked befo 309 coordinate space which is checked before a point is verified to 261 actually be inside the F04ElementField 310 actually be inside the F04ElementField (IsWithin and IsOutside). 262 SetGlobalPoint is called 8 times for t 311 SetGlobalPoint is called 8 times for the corners of the local 263 bounding box, after a local->global co 312 bounding box, after a local->global coordinate transform. 264 313 265 The F04ElementField is the interface c << 314 The F04ElementField is the interface class used by F04GlobalField to 266 compute the field value at a given poi 315 compute the field value at a given point[]. 267 316 268 A beamline element, for example the F0 317 A beamline element, for example the F04SimpleSolenoid, will derive 269 from F04ElementField and implement the 318 from F04ElementField and implement the computation for the element. 270 319 271 simpleSolenoid << 320 simpleSolenoid = new F04SimpleSolenoid(B, l, 272 = new F04SimpleSolenoid(B, l, logicT << 321 logicTransferMgnt,TransferMgntCenter); 273 322 274 Besides the magnetic field and the len 323 Besides the magnetic field and the length of the simple solenoid, 275 the constructor needs the knowledge of 324 the constructor needs the knowledge of the G4LogicalVolume for 276 the beamline element and where its cen 325 the beamline element and where its center is located in the 277 'World'. 326 'World'. 278 327 279 The F04ElementField has a G4AffineTran 328 The F04ElementField has a G4AffineTransform "fGlobal2local" which 280 allows the quick computation of coordi 329 allows the quick computation of coordinate transformations. It can 281 only be determined by knowing the elem 330 only be determined by knowing the element's coordinate origin in 282 the global frame and after all of the 331 the global frame and after all of the geometry has been defined. 283 For this reason, the object is prepare 332 For this reason, the object is prepared in two stages, through the 284 constructor providing it with the coor 333 constructor providing it with the coordinate center and a pointer 285 to the G4LogicalVolume. Later the Cons 334 to the G4LogicalVolume. Later the Construct() method is called to 286 calculate the fGlobal2local and the bo 335 calculate the fGlobal2local and the bounding box. This can be done 287 from the F04RunAction::BeginOfRunActio 336 from the F04RunAction::BeginOfRunAction method, for only then are we 288 certain that the geometry has been com 337 certain that the geometry has been completely built: 289 338 290 FieldList* fields = F04GlobalField::Ge 339 FieldList* fields = F04GlobalField::GetObject()->GetFields(); 291 340 292 if (fields) { 341 if (fields) { 293 if (fields->size()>0) { 342 if (fields->size()>0) { 294 FieldList::iterator i; 343 FieldList::iterator i; 295 for (i=fields->begin(); i!=field 344 for (i=fields->begin(); i!=fields->end(); ++i)(*i)->Construct(); 296 } 345 } 297 } 346 } 298 347 299 The F04ElementField constructor will a 348 The F04ElementField constructor will also add the derived object into 300 F04GlobalField. Finally, its AddFieldV 349 F04GlobalField. Finally, its AddFieldValue() will add the field value 301 for this element to field[]. << 350 for this element to field[]. 302 351 303 352 304 8- User Action Classes 353 8- User Action Classes 305 354 306 F04RunActionMessenger: 355 F04RunActionMessenger: 307 356 308 /rndm/save freq - to save 357 /rndm/save freq - to save rndm status in external files 309 0 not saved 358 0 not saved 310 >0 saved on: b 359 >0 saved on: beginOfRun.rndm 311 1 saved on: 360 1 saved on: endOfRun.rndm 312 2 saved on: e 361 2 saved on: endOfEvent.rndm 313 /rndm/read random/run0evt 362 /rndm/read random/run0evt8268.rndm 314 363 315 F04RunAction: << 364 F04RunAction: 316 BeginOfRunAction: Deal wi 365 BeginOfRunAction: Deal with random number storage, 317 initialization etc. Call 366 initialization etc. Call the Construct() method of 318 F04ElementFields in the F 367 F04ElementFields in the FieldList of F04GlobalField object. 319 EndOfRunAction: random nu 368 EndOfRunAction: random number storage/status printing. 320 369 321 F04EventActionMessenger: 370 F04EventActionMessenger: 322 /event/setverbose 371 /event/setverbose >> 372 /event/drawTracks none/charged/all >> 373 /event/printModulo 323 374 324 F04EventAction(RunAction* RA): 375 F04EventAction(RunAction* RA): 325 Customized BeginOfEvent p << 376 Customized BeginOfEvent printing (frequency: printModulo) 326 EndofEvent: << 377 EndofEvent: condition depending drawing of trajectories, 327 saveEngingStatus and show 378 saveEngingStatus and showEngineStatus according to flag 328 in F04RunAction 379 in F04RunAction 329 380 330 F04TrackingAction: 381 F04TrackingAction: 331 PreUserTrackingAction: In 382 PreUserTrackingAction: Instantiate F04UserTrackInformation 332 and set the application T 383 and set the application TrackStatus. 333 PostUserTrackingAction: R 384 PostUserTrackingAction: Retreive F04UserTrackInformation 334 and decide to save random 385 and decide to save random number status accordingly. 335 386 336 F04SteppingActionMessenger: 387 F04SteppingActionMessenger: 337 388 338 F04SteppingAction: 389 F04SteppingAction: 339 UserSteppingAction: Kill 390 UserSteppingAction: Kill primary if/when outside Target 340 volume. Diagnostic/histog 391 volume. Diagnostic/histogram filling for particles at a 341 TestPlane. Find decay pos 392 TestPlane. Find decay position and when particle 342 FIRST reverses z-momentum 393 FIRST reverses z-momentum component via using a 343 F04UserTrackInformation o 394 F04UserTrackInformation object. 344 395 345 F04StackingAction: 396 F04StackingAction: 346 Track only primaries, pi+ 397 Track only primaries, pi+ or mu+ 347 398 348 F04UserTrackInformation: 399 F04UserTrackInformation: 349 Keep an application F04Tr 400 Keep an application F04TrackStatus for the track: 350 undefined, left, rig 401 undefined, left, right, reverse 351 402 352 F04SteppingVerbose: 403 F04SteppingVerbose: 353 Only print track header an 404 Only print track header and step information for 354 pi+ and mu+. << 405 pi+ and mu+ 355 Note: the information for << 356 406 357 F04Trajectory, TrajectoryPoint: 407 F04Trajectory, TrajectoryPoint: 358 Example of application spe 408 Example of application specific implementations 359 409 360 9- HOW TO START ? 410 9- HOW TO START ? 361 411 362 - Execute field04 in 'batch' mode from << 412 - execute field04 in 'batch' mode from macro files e.g. 363 % field04 -m field04.in << 413 % field04 field04.in 364 414 365 - Execute field04 in 'interactive' mod << 415 - execute field04 in 'interactive' mode with visualization e.g. 366 % field04 416 % field04 367 .... 417 .... 368 Idle> type your commands << 418 Idle> type your commands, for example: 369 .... << 419 Idle> control/execute field04.in 370 << 371 - Execute field04 in 'interactive' mod << 372 % field04 -s preinit << 373 .... << 374 Idle> type your commands, then << 375 Idle> /run/initialize << 376 Idle> /control/execute vis.mac << 377 .... 420 ....