// $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("$ALICE_ROOT/MUON/Config.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);
}
}