Print

Print


Commit in lcdd/src on MAIN
global_fieldSubscriber.cc+5-51.4 -> 1.5
Kill the simulation if global field reference is not found.

lcdd/src
global_fieldSubscriber.cc 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- global_fieldSubscriber.cc	22 Apr 2005 18:39:07 -0000	1.4
+++ global_fieldSubscriber.cc	1 Sep 2005 18:25:05 -0000	1.5
@@ -27,7 +27,7 @@
   }
 
 public:
-  global_fieldSubscriber() 
+  global_fieldSubscriber()
   {
     Subscribe( "global_field" );
   }
@@ -38,11 +38,11 @@
   virtual void Activate( const SAXObject* object)
   {
     //std::cout << "global_field Subscriber" << std::endl;
-    
+
     const global_field* fobj = 0;
     G4MagneticField* mag = 0;
     LCDDProcessor* proc = LCDDProcessor::instance();
-    
+
     if ( object != 0 ) {
       fobj = dynamic_cast<const global_field*>( object );
 
@@ -63,8 +63,10 @@
 	    if ( mag ) {
 	      proc->setGlobalMagneticField( mag );
 	    }
+	    /* FATAL ERROR: field was not found */
 	    else {
 	      std::cerr << "Unknown field reference: " << fref->get_ref() << std::endl;
+	      G4Exception("Failed to setup specified global field.");
 	    }
 	  }
 	}
@@ -74,8 +76,6 @@
 	std::cerr << "Failed cast to global_field!" << std::endl;
       }
     }
-
-    //delete object;
   }
 };
 
CVSspam 0.2.8