]>
Commit | Line | Data |
---|---|---|
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 | 48 | void 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 | } |