]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - AliGeant4/AliRunConfiguration.cxx
This commit was generated by cvs2svn to compensate for changes in r1459,
[u/mrichter/AliRoot.git] / AliGeant4 / AliRunConfiguration.cxx
diff --git a/AliGeant4/AliRunConfiguration.cxx b/AliGeant4/AliRunConfiguration.cxx
new file mode 100644 (file)
index 0000000..5a16807
--- /dev/null
@@ -0,0 +1,82 @@
+// $Id$
+// Category: run
+//
+// See the class description in the header file.
+
+#include "AliRunConfiguration.h"
+#include "AliRunMessenger.h"
+#include "AliGlobals.h"
+
+#include "AliDetConstruction.h"
+#include "AliEmptyPhysicsList.h"
+#include "AliPrimaryGeneratorAction.h"
+#include "AliRunAction.h"
+#include "AliEventAction.h"
+#include "AliTrackingAction.h"
+#include "AliStackingAction.h"
+#include "AliSteppingAction.h"
+
+#include "TG4PhysicsList.h"
+
+AliRunConfiguration::AliRunConfiguration(){
+//
+  fRunMessenger = new AliRunMessenger();
+  CreateUserConfiguration();
+}
+
+AliRunConfiguration::AliRunConfiguration(const AliRunConfiguration& right)
+  : TG4VRunConfiguration(right)
+{
+  // TG4VRunConfiguration is protected from copying
+}
+
+AliRunConfiguration::~AliRunConfiguration() {
+//
+  delete fRunMessenger;
+
+  // all user action data members are deleted 
+  // in G4RunManager::~G4RunManager()
+}
+
+// operators
+
+AliRunConfiguration& 
+AliRunConfiguration::operator=(const AliRunConfiguration& right)
+{
+  // check assignement to self
+  if (this == &right) return *this;
+  
+  // base class assignement
+  // TG4VRunConfiguration is protected from assigning
+  TG4VRunConfiguration::operator=(right);
+
+  return *this;  
+}    
+          
+// protected methods
+
+void AliRunConfiguration::CreateUserConfiguration()
+{
+// Creates the mandatory Geant4 classes and 
+// the other user action classes. 
+// ---
+
+  // create mandatory Geant4 classes
+  fDetectorConstruction = new AliDetConstruction();
+#ifndef ALICE_EMPTY_PHYSICS_LIST
+  fPhysicsList = new TG4PhysicsList();
+#else
+  fPhysicsList = new AliEmptyPhysicsList();
+#endif
+  fPrimaryGenerator = new AliPrimaryGeneratorAction();
+
+  // create the other user action classes
+  fRunAction = new AliRunAction();
+  fEventAction = new AliEventAction();
+  fTrackingAction = new AliTrackingAction();
+  fSteppingAction = new AliSteppingAction();
+#ifdef ALICE_STACKING
+  fStackingAction = new AliStackingAction();
+#endif
+}