Changeset 1337 for trunk/examples/extended/analysis/A01
- Timestamp:
- Sep 30, 2010, 2:47:17 PM (15 years ago)
- Location:
- trunk/examples/extended/analysis/A01
- Files:
-
- 17 edited
-
History (modified) (2 diffs)
-
README (modified) (4 diffs)
-
include/A01DetectorConstruction.hh (modified) (3 diffs)
-
include/A01EMPhysics.hh (modified) (2 diffs)
-
include/A01HadronPhysics.hh (modified) (2 diffs)
-
include/A01IonPhysics.hh (modified) (2 diffs)
-
include/A01MagneticField.hh (modified) (2 diffs)
-
include/A01MuonPhysics.hh (modified) (2 diffs)
-
opengl.mac (modified) (1 diff)
-
src/A01DetectorConstruction.cc (modified) (6 diffs)
-
src/A01EMPhysics.cc (modified) (3 diffs)
-
src/A01HadronPhysics.cc (modified) (15 diffs)
-
src/A01IonPhysics.cc (modified) (6 diffs)
-
src/A01MagneticField.cc (modified) (4 diffs)
-
src/A01MuonPhysics.cc (modified) (5 diffs)
-
test.out (modified) (1 diff)
-
vis.mac (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/analysis/A01/History
r807 r1337 1 $Id: History,v 1. 43 2007/05/17 09:55:13 dunsExp $1 $Id: History,v 1.50 2010/06/06 04:21:04 perl Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 11 11 12 12 --------------------------------------------------------------------------- 13 14 4 June 2010 Joseph Perl (exampleA01-V09-03-00) 15 - Updated vis usage. 16 17 2 Dec 2009 Joseph Perl (exampleA01-V09-02-02) 18 - A01MuonPhysics: change hMultipleScattering to MuMultipleScattering. 19 20 20 Mov 2009 Joseph Perl (exampleA01-V09-02-01) 21 - A01DetectorConstruction, A01MagneticField: improve handing of field. 22 Resolves bug 1012. 23 - A01Trajectory: removed. Example uses G4Trajectory. 24 - Update to new multiple scattering classes. 25 - README: General update. 26 Remove references to obsolete SLAC Geant4 tutorial CD. 27 28 14 Mov 2009 John Allison (exampleA01-V09-02-00) 29 - A01app.cc: Introduced G4UIExecutive. 30 31 5 March 2009 Guy Barrand 32 - GNUmakefile : remove the G4ANALYSIS_USE logic found in this file, since 33 it is handled already in the config/analysis.gmk. 34 This avoids a duplication in the compilation and link commands 35 of the aida-config options. 36 13 37 17 May 2007 - Mark Donszelmann (exampleA01-V08-03-01) 14 38 - Fixed memory leak for plotter -
trunk/examples/extended/analysis/A01/README
r807 r1337 1 $Id: README,v 1. 9 2005/06/01 18:10:15 dunsExp $1 $Id: README,v 1.10 2009/11/21 00:22:55 perl Exp $ 2 2 3 3 ========================================================= … … 10 10 Example A01 implements a double-arm spectrometer with wire chambers, 11 11 hodoscopes and calorimeters. Event simulation and collection are 12 enabled, as well as event display and analysis. This example is 13 extensively documented on the Geant4 Workshop Tutorial CD available at: 14 http://geant4.slac.stanford.edu/g4cd/Welcome.html 12 enabled, as well as event display and analysis. 15 13 16 14 … … 72 70 73 71 74 75 76 72 3. EVENT: 77 73 … … 130 126 5. VISUALIZATION: 131 127 132 Simulated events can be displayed on top of a representation of 133 the spectrometer. 128 Simulated events can be displayed on top of a representation of the spectrometer. 134 129 135 vis.mac outputs HepRep version 1 files suitable for viewing in WIRED.130 vis.mac outputs HepRep version 1 files suitable for viewing in HepRApp or WIRED4. 136 131 Change the /vis/open line from HepRepFile to DAWNFILE to instead 137 132 make .prim files suitable for viewing in DAWN. 138 133 139 134 heprep2-000-gz.mac outputs a series of gzipped HepRep version 2 files 140 each containing a single event, suitable for viewing in WIRED (there 141 is no need to ungzip them since WIRED can do this itself). 135 each containing a single event, suitable for viewing in HepRApp or WIRED4 142 136 143 137 heprep2zip.mac outputs a single zip file that unzips to a series of 144 138 HepRep version 2 files, each each containing a single event (unzip 145 the single file by hand, then view the resulting individial HepRep 146 files in WIRED 3). 139 the single file by hand, then view the resulting individial HepRep files). 147 140 148 141 heprep2-000-zip.mac outputs a series of zipped HepRep version 2 files 149 each containing a single event (not yet viewable in WIREDunless you142 each containing a single event (not yet viewable unless you 150 143 explicitly unzip them before viewing). 151 144 152 145 heprep2.mac outputs a HepRep version 2 file with multiple events 153 appended to a single file in an experimental manner (not yet viewable 154 in WIRED). 146 appended to a single file in an experimental manner 155 147 156 148 heprep2gz.mac outputs a HepRep version 2 file with multiple events 157 appended to a single file in an experimental manner (not yet viewable 158 in WIRED). 149 appended to a single file in an experimental manner 159 150 160 151 Any of the heprep mac files above with the name bheprep (for instance 161 bheprep2zip.mac) will write a Binary HepRep version 2 file, readable 162 by WIRED 4. 163 164 WIRED 4 can read Binary HepRep and XML HepRep version 2 files without 165 the need for manual unzipping. 152 bheprep2zip.mac) will write a Binary HepRep version 2 file, readable only 153 by WIRED4 (not by HepRApp). 166 154 167 For more information on visualization with this A01 example,168 see the visualization tutorials on the Geant4 Workshop Tutorial CD169 available at:170 http://geant4.slac.stanford.edu/g4cd/Welcome.html171 155 172 156 6. ANALYSIS: 173 157 174 158 This example implements an AIDA-compliant analysis system which 175 creates histograms, ntuples and plotters. At the completion of a 176 simulation run a file A01.aida is produced which contains these 177 data structures. This file can be used as an input to the Java 178 Analysis Studio (JAS) which allows the histograms and ntuples to 179 examined, manipulated, saved and printed. For further details, 180 see README.JAIDA. 181 182 183 7. GETTING STARTED: 184 185 Build the A01 executable: 186 187 cd to A01 188 gmake clean 189 gmake 190 191 gmake will create tmp and bin directories in your work directory. 192 The executable, named A01app, will be in /bin/$G4SYSTEM/ 193 194 While in directory A01, run the executable: 195 196 ../bin/$G4SYSTEM/A01app 197 198 which will bring up the interactive prompt: 199 200 Idle> 201 202 To run 10 events you can now enter: 203 204 /run/beamOn 10 205 206 If all goes well, a JAS window will appear containing two histograms 207 and three scatterplots. 208 209 To terminate the job, at the prompt enter: 210 211 exit 212 213 Currently you must also close the JAS-AIDA window to get the job to stop. 214 215 216 In the A01 directory will be a file A01.aida which contains the plots. 217 To examine them 218 219 /usr/local.bin/jas3 & or jas3 & 159 creates histograms, ntuples and plotters. If you have built Geant4 with 160 the option to use anlaysis (answering yes to the appropriate question in 161 ./Configure -build), then at the completion of a simulation run, 162 a file A01.aida is produced which contains these data structures. 163 This file can be used as an input to the Java Analysis Studio (JAS) which allows 164 the histograms and ntuples to examined, manipulated, saved and printed. 165 For further details, see README.JAIDA. -
trunk/examples/extended/analysis/A01/include/A01DetectorConstruction.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01DetectorConstruction.hh,v 1. 5 2006/06/29 16:30:50 gunterExp $26 // $Id: A01DetectorConstruction.hh,v 1.6 2009/11/21 00:22:55 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 34 34 #include "G4VUserDetectorConstruction.hh" 35 35 #include "G4RotationMatrix.hh" 36 #include "G4FieldManager.hh" 36 37 37 38 class G4VPhysicalVolume; … … 61 62 A01DetectorConstMessenger* messenger; 62 63 A01MagneticField* magneticField; 64 G4FieldManager* fieldMgr; 63 65 64 66 G4Material* air; -
trunk/examples/extended/analysis/A01/include/A01EMPhysics.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01EMPhysics.hh,v 1. 6 2006/06/29 16:30:58 gunterExp $26 // $Id: A01EMPhysics.hh,v 1.7 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 41 41 #include "G4ComptonScattering.hh" 42 42 #include "G4GammaConversion.hh" 43 #include "G4 MultipleScattering.hh"43 #include "G4eMultipleScattering.hh" 44 44 #include "G4eIonisation.hh" 45 45 #include "G4eBremsstrahlung.hh" -
trunk/examples/extended/analysis/A01/include/A01HadronPhysics.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01HadronPhysics.hh,v 1. 6 2006/06/29 16:31:14 gunterExp $26 // $Id: A01HadronPhysics.hh,v 1.7 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 36 36 37 37 #include "G4VPhysicsConstructor.hh" 38 #include "G4 MultipleScattering.hh"38 #include "G4hMultipleScattering.hh" 39 39 #include "G4hIonisation.hh" 40 40 -
trunk/examples/extended/analysis/A01/include/A01IonPhysics.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01IonPhysics.hh,v 1. 7 2006/06/29 16:31:22 gunterExp $26 // $Id: A01IonPhysics.hh,v 1.8 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // 05-Jan-2004 Add G4ionIonisation T. Koi … … 51 51 #include "G4hIonisation.hh" 52 52 #include "G4ionIonisation.hh" 53 #include "G4 MultipleScattering.hh"53 #include "G4hMultipleScattering.hh" 54 54 55 55 class A01IonPhysics : public G4VPhysicsConstructor -
trunk/examples/extended/analysis/A01/include/A01MagneticField.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01MagneticField.hh,v 1. 4 2006/06/29 16:31:27 gunterExp $26 // $Id: A01MagneticField.hh,v 1.5 2009/11/21 00:22:55 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 41 41 ~A01MagneticField(); 42 42 43 virtual void GetFieldValue( const double Point[3], 44 double *Bfield ) const; 43 virtual void GetFieldValue(const G4double Point[4],double *Bfield ) const; 45 44 46 45 private: 47 46 A01MagneticFieldMessenger* messenger; 48 47 G4double By; 49 G4double rmax_sq; 50 G4double ymax; 51 48 52 49 public: 53 50 inline void SetField(G4double val) { By = val; } -
trunk/examples/extended/analysis/A01/include/A01MuonPhysics.hh
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01MuonPhysics.hh,v 1. 6 2006/06/29 16:31:31 gunterExp $26 // $Id: A01MuonPhysics.hh,v 1.8 2009/12/02 22:45:09 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 37 37 38 38 #include "G4VPhysicsConstructor.hh" 39 #include "G4Mu ltipleScattering.hh"39 #include "G4MuMultipleScattering.hh" 40 40 #include "G4MuBremsstrahlung.hh" 41 41 #include "G4MuPairProduction.hh" -
trunk/examples/extended/analysis/A01/opengl.mac
r807 r1337 11 11 # /vis/viewer/create 12 12 # 13 /vis/open OGL IX13 /vis/open OGL 14 14 # 15 15 # Create a scene. One could use /vis/drawVolume, which is equivalent to: -
trunk/examples/extended/analysis/A01/src/A01DetectorConstruction.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01DetectorConstruction.cc,v 1. 9 2006/06/29 16:32:22 gunterExp $26 // $Id: A01DetectorConstruction.cc,v 1.10 2009/11/21 00:22:55 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 32 32 #include "G4FieldManager.hh" 33 33 #include "G4TransportationManager.hh" 34 #include "G4Mag_UsualEqRhs.hh" 34 35 35 36 #include "G4Material.hh" 36 37 #include "G4Element.hh" 37 38 #include "G4MaterialTable.hh" 39 #include "G4NistManager.hh" 38 40 39 41 #include "G4VSolid.hh" … … 76 78 messenger = new A01DetectorConstMessenger(this); 77 79 magneticField = new A01MagneticField(); 80 fieldMgr = new G4FieldManager(); 78 81 armRotation = new G4RotationMatrix(); 79 82 armRotation->rotateY(armAngle); … … 84 87 delete armRotation; 85 88 delete magneticField; 89 delete fieldMgr; 86 90 delete messenger; 87 91 … … 111 115 G4VSensitiveDetector* HadCalorimeter; 112 116 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 113 114 117 ConstructMaterials(); 115 118 116 // Magnetic field ----------------------------------------------------------119 // Local Magnetic Field 117 120 static G4bool fieldIsInitialized = false; 121 118 122 if(!fieldIsInitialized) 119 123 { 120 G4FieldManager* fieldMgr121 = G4TransportationManager::GetTransportationManager()->GetFieldManager();122 124 fieldMgr->SetDetectorField(magneticField); 123 125 fieldMgr->CreateChordFinder(magneticField); … … 133 135 = new G4PVPlacement(0,G4ThreeVector(),worldLogical,"worldPhysical",0,0,0); 134 136 135 // magnetic field region 137 // Tube with Local Magnetic field 138 136 139 G4VSolid* magneticSolid = new G4Tubs("magneticTubs",0.,1.*m,1.*m,0.,360.*deg); 137 G4LogicalVolume* magneticLogical 138 = new G4LogicalVolume(magneticSolid,air,"magneticLogical",0,0,0); 140 G4NistManager* man = G4NistManager::Instance(); 141 G4Material* G4_Galactic = man->FindOrBuildMaterial("G4_Galactic"); 142 143 G4LogicalVolume* magneticLogical 144 = new G4LogicalVolume(magneticSolid,G4_Galactic,"magneticLogical",fieldMgr,0,0); 145 // ******** 146 147 // placement of Tube 148 139 149 G4RotationMatrix* fieldRot = new G4RotationMatrix(); 140 150 fieldRot->rotateX(90.*deg); -
trunk/examples/extended/analysis/A01/src/A01EMPhysics.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01EMPhysics.cc,v 1. 8 2006/06/29 16:32:30 gunterExp $26 // $Id: A01EMPhysics.cc,v 1.9 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 73 73 //Electorn 74 74 pManager = G4Electron::Electron()->GetProcessManager(); 75 G4VProcess* theeminusMultipleScattering = new G4 MultipleScattering();75 G4VProcess* theeminusMultipleScattering = new G4eMultipleScattering(); 76 76 G4VProcess* theeminusIonisation = new G4eIonisation(); 77 77 G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); … … 94 94 //Positron 95 95 pManager = G4Positron::Positron()->GetProcessManager(); 96 G4VProcess* theeplusMultipleScattering = new G4 MultipleScattering();96 G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering(); 97 97 G4VProcess* theeplusIonisation = new G4eIonisation(); 98 98 G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); -
trunk/examples/extended/analysis/A01/src/A01HadronPhysics.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01HadronPhysics.cc,v 1. 8 2006/06/29 16:32:48 gunterExp $26 // $Id: A01HadronPhysics.cc,v 1.9 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 74 74 pManager->AddDiscreteProcess(thePionPlusInelasticProcess); 75 75 76 G4VProcess* theppMultipleScattering = new G4 MultipleScattering();76 G4VProcess* theppMultipleScattering = new G4hMultipleScattering(); 77 77 G4VProcess* theppIonisation = new G4hIonisation(); 78 78 // … … 107 107 pManager->AddDiscreteProcess(thePionMinusInelasticProcess); 108 108 109 G4VProcess* thepmMultipleScattering = new G4 MultipleScattering();109 G4VProcess* thepmMultipleScattering = new G4hMultipleScattering(); 110 110 G4VProcess* thepmIonisation = new G4hIonisation(); 111 111 // … … 141 141 pManager->AddDiscreteProcess(theKaonPlusInelasticProcess); 142 142 143 G4VProcess* thekpMultipleScattering = new G4 MultipleScattering();143 G4VProcess* thekpMultipleScattering = new G4hMultipleScattering(); 144 144 G4VProcess* thekpIonisation = new G4hIonisation(); 145 145 // … … 176 176 pManager->AddDiscreteProcess(theKaonMinusInelasticProcess); 177 177 178 G4VProcess* thekmMultipleScattering = new G4 MultipleScattering();178 G4VProcess* thekmMultipleScattering = new G4hMultipleScattering(); 179 179 G4VProcess* thekmIonisation = new G4hIonisation(); 180 180 … … 248 248 pManager->AddDiscreteProcess(theProtonInelasticProcess); 249 249 250 G4VProcess* thepMultipleScattering = new G4 MultipleScattering();250 G4VProcess* thepMultipleScattering = new G4hMultipleScattering(); 251 251 G4VProcess* thepIonisation = new G4hIonisation(); 252 252 … … 286 286 pManager->AddRestProcess(theAntiProtonAnnihilation); 287 287 288 G4VProcess* theapMultipleScattering = new G4 MultipleScattering();288 G4VProcess* theapMultipleScattering = new G4hMultipleScattering(); 289 289 G4VProcess* theapIonisation = new G4hIonisation(); 290 290 … … 417 417 pManager->AddDiscreteProcess(theSigmaPlusInelasticProcess); 418 418 419 G4VProcess* thespMultipleScattering = new G4 MultipleScattering();419 G4VProcess* thespMultipleScattering = new G4hMultipleScattering(); 420 420 G4VProcess* thespIonisation = new G4hIonisation(); 421 421 … … 451 451 pManager->AddDiscreteProcess(theAntiSigmaPlusInelasticProcess); 452 452 453 G4VProcess* theaspMultipleScattering = new G4 MultipleScattering();453 G4VProcess* theaspMultipleScattering = new G4hMultipleScattering(); 454 454 G4VProcess* theaspIonisation = new G4hIonisation(); 455 455 … … 485 485 pManager->AddDiscreteProcess(theSigmaMinusInelasticProcess); 486 486 487 G4VProcess* thesmMultipleScattering = new G4 MultipleScattering();487 G4VProcess* thesmMultipleScattering = new G4hMultipleScattering(); 488 488 G4VProcess* thesmIonisation = new G4hIonisation(); 489 489 … … 519 519 pManager->AddDiscreteProcess(theAntiSigmaMinusInelasticProcess); 520 520 521 G4VProcess* theasmMultipleScattering = new G4 MultipleScattering();521 G4VProcess* theasmMultipleScattering = new G4hMultipleScattering(); 522 522 G4VProcess* theasmIonisation = new G4hIonisation(); 523 523 … … 593 593 pManager->AddDiscreteProcess(theXiMinusInelasticProcess); 594 594 595 G4VProcess* thexmMultipleScattering = new G4 MultipleScattering();595 G4VProcess* thexmMultipleScattering = new G4hMultipleScattering(); 596 596 G4VProcess* thexmIonisation = new G4hIonisation(); 597 597 … … 627 627 pManager->AddDiscreteProcess(theAntiXiMinusInelasticProcess); 628 628 629 G4VProcess* theaxmMultipleScattering = new G4 MultipleScattering();629 G4VProcess* theaxmMultipleScattering = new G4hMultipleScattering(); 630 630 G4VProcess* theaxmIonisation = new G4hIonisation(); 631 631 … … 661 661 pManager->AddDiscreteProcess(theOmegaMinusInelasticProcess); 662 662 663 G4VProcess* theomMultipleScattering = new G4 MultipleScattering();663 G4VProcess* theomMultipleScattering = new G4hMultipleScattering(); 664 664 G4VProcess* theomIonisation = new G4hIonisation(); 665 665 … … 695 695 pManager->AddDiscreteProcess(theAntiOmegaMinusInelasticProcess); 696 696 697 G4VProcess* theaomMultipleScattering = new G4 MultipleScattering();697 G4VProcess* theaomMultipleScattering = new G4hMultipleScattering(); 698 698 G4VProcess* theaomIonisation = new G4hIonisation(); 699 699 -
trunk/examples/extended/analysis/A01/src/A01IonPhysics.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01IonPhysics.cc,v 1. 9 2006/06/29 16:32:55 gunterExp $26 // $Id: A01IonPhysics.cc,v 1.10 2009/11/21 01:00:19 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 62 62 63 63 // add process 64 G4VProcess* thegionMultipleScattering = new G4 MultipleScattering();64 G4VProcess* thegionMultipleScattering = new G4hMultipleScattering(); 65 65 // 66 66 // G4hIonization may be not able to use for Geanric Ion in future … … 100 100 pManager->AddDiscreteProcess(theDeuteronInelasticProcess); 101 101 102 G4VProcess* thedueMultipleScattering = new G4 MultipleScattering();102 G4VProcess* thedueMultipleScattering = new G4hMultipleScattering(); 103 103 G4VProcess* thedueIonisation = new G4hIonisation(); 104 104 // … … 132 132 pManager->AddDiscreteProcess(theTritonInelasticProcess); 133 133 134 G4VProcess* thetriMultipleScattering = new G4 MultipleScattering();134 G4VProcess* thetriMultipleScattering = new G4hMultipleScattering(); 135 135 G4VProcess* thetriIonisation = new G4hIonisation(); 136 136 // … … 164 164 pManager->AddDiscreteProcess(theAlphaInelasticProcess); 165 165 166 G4VProcess* thealpMultipleScattering = new G4 MultipleScattering();166 G4VProcess* thealpMultipleScattering = new G4hMultipleScattering(); 167 167 G4VProcess* thealpIonisation = new G4hIonisation(); 168 168 // … … 189 189 pManager->AddDiscreteProcess(thehe3ElasticProcess); 190 190 191 G4VProcess* thehe3MultipleScattering = new G4 MultipleScattering();191 G4VProcess* thehe3MultipleScattering = new G4hMultipleScattering(); 192 192 G4VProcess* thehe3Ionisation = new G4hIonisation(); 193 193 // -
trunk/examples/extended/analysis/A01/src/A01MagneticField.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01MagneticField.cc,v 1. 6 2006/06/29 16:32:57 gunterExp $26 // $Id: A01MagneticField.cc,v 1.7 2009/11/21 00:22:55 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 30 30 #include "A01MagneticField.hh" 31 31 #include "A01MagneticFieldMessenger.hh" 32 #include "globals.hh" 32 33 33 34 A01MagneticField::A01MagneticField() … … 35 36 messenger = new A01MagneticFieldMessenger(this); 36 37 By = 1.0*tesla; 37 rmax_sq = sqr(1.*m); 38 ymax = 100.*cm; 38 39 39 } 40 40 … … 42 42 { delete messenger; } 43 43 44 void A01MagneticField::GetFieldValue(const double Point[3],double *Bfield) const44 void A01MagneticField::GetFieldValue(const G4double [4],double *Bfield) const 45 45 { 46 46 Bfield[0] = 0.; 47 47 Bfield[2] = 0.; 48 if(std::abs(Point[1])<ymax && (sqr(Point[0])+sqr(Point[2]))<rmax_sq) 49 { Bfield[1] = By; } 50 else 51 { Bfield[1] = 0.; } 48 Bfield[1] = By; 49 52 50 } 53 51 -
trunk/examples/extended/analysis/A01/src/A01MuonPhysics.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: A01MuonPhysics.cc,v 1. 8 2006/06/29 16:33:01 gunterExp $26 // $Id: A01MuonPhysics.cc,v 1.10 2009/12/02 22:45:09 perl Exp $ 27 27 // -------------------------------------------------------------- 28 28 // … … 62 62 //Muon+ 63 63 pManager = G4MuonPlus::MuonPlus()->GetProcessManager(); 64 G4VProcess* thempMultipleScattering = new G4Mu ltipleScattering();64 G4VProcess* thempMultipleScattering = new G4MuMultipleScattering(); 65 65 G4VProcess* thempBremsstrahlung = new G4MuBremsstrahlung(); 66 66 G4VProcess* thempPairProduction = new G4MuPairProduction(); … … 87 87 //Muon- 88 88 pManager = G4MuonMinus::MuonMinus()->GetProcessManager(); 89 G4VProcess* themmMultipleScattering = new G4Mu ltipleScattering();89 G4VProcess* themmMultipleScattering = new G4MuMultipleScattering(); 90 90 G4VProcess* themmBremsstrahlung = new G4MuBremsstrahlung(); 91 91 G4VProcess* themmPairProduction = new G4MuPairProduction(); … … 111 111 // Tau+ Physics 112 112 pManager = G4TauPlus::TauPlus()->GetProcessManager(); 113 G4VProcess* thetpMultipleScattering = new G4Mu ltipleScattering();113 G4VProcess* thetpMultipleScattering = new G4MuMultipleScattering(); 114 114 G4VProcess* thetpIonisation = new G4hIonisation(); 115 115 // … … 128 128 // Tau- Physics 129 129 pManager = G4TauMinus::TauMinus()->GetProcessManager(); 130 G4VProcess* thetmMultipleScattering = new G4Mu ltipleScattering();130 G4VProcess* thetmMultipleScattering = new G4MuMultipleScattering(); 131 131 G4VProcess* thetmIonisation = new G4hIonisation(); 132 132 // -
trunk/examples/extended/analysis/A01/test.out
r807 r1337 1 1 2 2 ************************************************************* 3 Geant4 version $Name: $ (25-June-2004)3 Geant4 version $Name: geant4-09-04-beta-01 $ (25-June-2004) 4 4 Copyright : Geant4 Collaboration 5 5 Reference : NIM A 506 (2003), 250-303 -
trunk/examples/extended/analysis/A01/vis.mac
r807 r1337 5 5 # 6 6 /control/verbose 2 7 # /vis/verbose confirmations8 7 # 9 # Create a scene handler and viewer for HepRep 8 # Use this open statement to create an OpenGL view: 9 /vis/open OGL 600x600-0+0 10 10 # 11 /vis/open HepRepFile 11 # Use this open statement to create a .prim file suitable for 12 # viewing in DAWN: 12 13 #/vis/open DAWNFILE 13 14 # 14 # Draw detector 15 # Use this open statement to create a .heprep file suitable for 16 # viewing in HepRApp: 17 #/vis/open HepRepFile 15 18 # 19 # Use this open statement to create a .wrl file suitable for 20 # viewing in a VRML viewer: 21 #/vis/open VRML2FILE 22 # 23 # Disable auto refresh and quieten vis messages whilst scene and 24 # trajectories are established: 25 /vis/viewer/set/autoRefresh false 26 /vis/verbose errors 27 # 28 # Draw geometry: 16 29 /vis/drawVolume 17 30 # 18 # Declare that trajectories and hits should be added to the scene 31 # Specify view angle: 32 #/vis/viewer/set/viewpointThetaPhi 90. 0. 19 33 # 20 /vis/scene/add/trajectories 21 /vis/ scene/add/hits34 # Specify zoom value: 35 /vis/viewer/zoom 1.6 22 36 # 23 # Execute the visualization via the /vis/viewer/flush that comes 24 # automatically at the end of each /run. 37 # Specify style (surface or wireframe): 38 #/vis/viewer/set/style wireframe 39 # 40 # Draw coordinate axes: 41 #/vis/scene/add/axes 0 0 0 1 m 42 # 43 # Draw smooth trajectories at end of event, showing trajectory points 44 # as markers 2 pixels wide: 45 /vis/scene/add/trajectories smooth 46 /vis/modeling/trajectories/create/drawByCharge 47 /vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true 48 /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 49 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) 50 # 51 # Draw hits at end of event: 52 #/vis/scene/add/hits 53 # 54 # To draw only gammas: 55 #/vis/filtering/trajectories/create/particleFilter 56 #/vis/filtering/trajectories/particleFilter-0/add gamma 57 # 58 # To invert the above, drawing all particles except gammas, 59 # keep the above two lines but also add: 60 #/vis/filtering/trajectories/particleFilter-0/invert true 61 # 62 # Many other options are available with /vis/modeling and /vis/filtering. 63 # For example, to select colour by particle ID: 64 #/vis/modeling/trajectories/create/drawByParticleID 65 #/vis/modeling/trajectories/drawByParticleID-0/set e- blue 66 # 67 # To superimpose all of the events from a given run: 68 #/vis/scene/endOfEventAction accumulate 69 # 70 # Re-establish auto refreshing and verbosity: 71 /vis/viewer/set/autoRefresh true 72 /vis/verbose warnings 73 # 74 # For file-based drivers, use this to create an empty detector view: 75 #/vis/viewer/flush 25 76 # 26 77 /mydet/armAngle 60. deg
Note:
See TracChangeset
for help on using the changeset viewer.
