]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONGenerateGeometryData.C
Updated version.
[u/mrichter/AliRoot.git] / MUON / MUONGenerateGeometryData.C
index 64785226705fda5ea7a4cf303ab1bf508b0b31f4..c6e6d20c3f6c421daee478c51184c5f58c4c0a9c 100644 (file)
 
 // $Id$
 //
-// Macro for generating the geometry data files:
-// (transform_*.dat, svmap_*.dat).
-// To be run from aliroot:
-// .x MUONGenerateGeometryData.C
-//
-// The generated files do not replace the existing ones
-// but have different names (with extension ".out").
-// To compare/replace the existing files with generated ones
-// run the scripts in MUON/data: 
-//   compare_data [transform] [svmaps]
-//   reset_data [transform] [svmaps]
-//
-//  Author: I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MUONGenerateGeometryData.C
+/// \brief Macro for generating the geometry data files:
+///  transform.dat, svmap.dat.
+///
+/// To be run from aliroot:
+///
+/// .x MUONGenerateGeometryData.C
+///
+/// The generated files do not replace the existing ones
+/// but have different names (with extension ".out").
+///
+/// \author: I. Hrivnacova, IPN Orsay
+
+#if !defined(__CINT__) || defined(__MAKECINT__)
+
+#include "AliMUON.h"
+#include "AliMUONGeometryBuilder.h"
+#include "AliMUONGeometryTransformer.h"
+
+#include "AliRun.h"
+#include "AliCDBManager.h"
+#include "AliMC.h"
 
-void MUONGenerateGeometryData(Bool_t transforms = true, Bool_t svmaps = true)
+#include <Riostream.h>
+#include <TROOT.h>
+#include <TInterpreter.h>
+
+#endif
+
+void MUONGenerateGeometryData(Bool_t transforms = true, 
+                              Bool_t svmaps = true,
+                              Bool_t writeEnvelopes = true)
 {
+/// \param transforms      option to generete transform.dat
+/// \param svmaps          option to generete svmap.dat
+/// \param writeEnvelope   option to include virtual envelopes
+///                        in the volume paths
+
+  // Default CDB and run number
+  AliCDBManager* man = AliCDBManager::Instance();
+  man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
+  man->SetRun(0);
+
   // Initialize
-  gAlice->Init("./Config_MUON_test.C");
+  TString configFileName = "$ALICE_ROOT/MUON/Config.C";
+  gROOT->LoadMacro(configFileName.Data());
+  gInterpreter->ProcessLine(gAlice->GetConfigFunction());
+  gAlice->GetMCApp()->Init();
   cout << "Init done " << endl;
 
   // Get MUON detector
   AliMUON* muon = (AliMUON*)gAlice->GetModule("MUON");
   if (!muon) {
-    AliFatal("MUON detector not defined.");
-    return 0;
+    cerr << "MUON detector not defined." << endl;
+    return;
   }  
 
   // Get geometry builder
   AliMUONGeometryBuilder* builder = muon ->GetGeometryBuilder();
 
   if (transforms) {
-    cout << "Generating transformation files ..." << endl;
-    builder->WriteTransformations();
+    cout << "Generating transformation file ..." << endl;
+    builder->GetTransformer()->WriteTransformations("transform.dat.out");
   }  
 
   if (svmaps) {
-    cout << "Generating svmaps files ..." << endl;
-    builder->WriteSVMaps();
+    cout << "Generating svmaps file ..." << endl;
+    builder->WriteSVMaps("svmap.dat.out", true, writeEnvelopes);
   }  
 }