Resolving all symbols in the library
[u/mrichter/AliRoot.git] / MUON / MUONGenerateGeometryData.C
CommitLineData
5e377ba0 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16// $Id$
17//
e54bf126 18/// \ingroup macros
19/// \file MUONGenerateGeometryData.C
20/// \brief Macro for generating the geometry data files:
21/// transform.dat, svmap.dat.
22///
23/// To be run from aliroot:
24///
25/// .x MUONGenerateGeometryData.C
26///
27/// The generated files do not replace the existing ones
28/// but have different names (with extension ".out").
29///
30/// \author: I. Hrivnacova, IPN Orsay
5e377ba0 31
7d6a7daa 32#if !defined(__CINT__) || defined(__MAKECINT__)
33
34#include "AliMUON.h"
35#include "AliMUONGeometryBuilder.h"
36#include "AliMUONGeometryTransformer.h"
37
38#include "AliRun.h"
23a85b2f 39#include "AliCDBManager.h"
d3aebe45 40#include "AliMC.h"
7d6a7daa 41
42#include <Riostream.h>
d3aebe45 43#include <TROOT.h>
44#include <TInterpreter.h>
7d6a7daa 45
46#endif
47
fa70609b 48void MUONGenerateGeometryData(Bool_t transforms = true,
4665bb48 49 Bool_t svmaps = true,
50 Bool_t writeEnvelopes = true)
5e377ba0 51{
e54bf126 52/// \param transforms option to generete transform.dat
53/// \param svmaps option to generete svmap.dat
54/// \param writeEnvelope option to include virtual envelopes
55/// in the volume paths
56
23a85b2f 57 // Default CDB and run number
58 AliCDBManager* man = AliCDBManager::Instance();
162637e4 59 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
23a85b2f 60 man->SetRun(0);
61
5e377ba0 62 // Initialize
d3aebe45 63 TString configFileName = "$ALICE_ROOT/MUON/Config.C";
64 gROOT->LoadMacro(configFileName.Data());
65 gInterpreter->ProcessLine(gAlice->GetConfigFunction());
66 gAlice->GetMCApp()->Init();
5e377ba0 67 cout << "Init done " << endl;
68
69 // Get MUON detector
70 AliMUON* muon = (AliMUON*)gAlice->GetModule("MUON");
71 if (!muon) {
7d6a7daa 72 cerr << "MUON detector not defined." << endl;
73 return;
5e377ba0 74 }
75
76 // Get geometry builder
77 AliMUONGeometryBuilder* builder = muon ->GetGeometryBuilder();
78
79 if (transforms) {
7120ee1e 80 cout << "Generating transformation file ..." << endl;
81 builder->GetTransformer()->WriteTransformations("transform.dat.out");
5e377ba0 82 }
83
84 if (svmaps) {
7120ee1e 85 cout << "Generating svmaps file ..." << endl;
4665bb48 86 builder->WriteSVMaps("svmap.dat.out", true, writeEnvelopes);
5e377ba0 87 }
88}