4.3.2010 - Kamil Sedlak

1) UPGRADE TO GEANT 4.9.3
      - Physics list had been modified
      - List of the physics processes in *.mac has to be modified too!
        (otherwise results of 4.9.3 do not reproduce well the results
         of 4.9.2).
        Example *.mac files still use the old implementation of the physics
        processes, i.e. they have to be corrected in future!

   2) POSSIBILITY TO WRITE OUT DERIVATIVES OF THE MAGNETIC FIELD 
      AT A GIVEN POINT (see the documentation,
      "/musr/command globalfield printFieldDerivativeAtPoint".)
This commit is contained in:
2010-03-04 12:52:07 +00:00
parent 701f17857f
commit 610abf6591
8 changed files with 602 additions and 28 deletions

View File

@ -652,7 +652,7 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() {
}
}
else if (strcmp(tmpString2,"printFieldValueAtPoint")==0){ // Print the fieldvalue at the given point
else if ((strcmp(tmpString2,"printFieldValueAtPoint")==0)||(strcmp(tmpString2,"printFieldDerivativeAtPoint")==0)) { // Print the fieldvalue at the given point
float p0, p1, p2;
sscanf(&line[0],"%*s %*s %*s %g %g %g",&p0,&p1,&p2);
if (F04GlobalField::Exists()) {
@ -660,7 +660,8 @@ G4VPhysicalVolume* musrDetectorConstruction::Construct() {
if (myGlobalField) {
// The global field is not properly initialised at this point. Therefore the points have to
// be stored in "F04GlobalField" object and printed later on in musrRunAction.cc .
myGlobalField->AddPointForFieldTesting(G4ThreeVector(p0,p1,p2));
if (strcmp(tmpString2,"printFieldValueAtPoint")==0) myGlobalField->AddPointForFieldTesting(G4ThreeVector(p0,p1,p2));
if (strcmp(tmpString2,"printFieldDerivativeAtPoint")==0) myGlobalField->AddPointForFieldDerivativeTesting(G4ThreeVector(p0,p1,p2));
}
else {
sprintf(eMessage,"musrDetectorConstruction.cc::Construct(): printFieldValueAtPoint requested, but field not found");