]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/MUONGenerateGeometryData.C
Add Config/HighVoltage directory and entry
[u/mrichter/AliRoot.git] / MUON / MUONGenerateGeometryData.C
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 //
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
31
32 #if !defined(__CINT__) || defined(__MAKECINT__)
33
34 #include "AliMUON.h"
35 #include "AliMUONGeometryBuilder.h"
36 #include "AliMUONGeometryTransformer.h"
37
38 #include "AliRun.h"
39
40 #include <Riostream.h>
41
42 #endif
43
44 void MUONGenerateGeometryData(Bool_t transforms = true, 
45                               Bool_t svmaps = true,
46                               Bool_t writeEnvelopes = true)
47 {
48 /// \param transforms      option to generete transform.dat
49 /// \param svmaps          option to generete svmap.dat
50 /// \param writeEnvelope   option to include virtual envelopes
51 ///                        in the volume paths
52
53   // Initialize
54   gAlice->Init("$ALICE_ROOT/MUON/Config.C");
55   cout << "Init done " << endl;
56
57   // Get MUON detector
58   AliMUON* muon = (AliMUON*)gAlice->GetModule("MUON");
59   if (!muon) {
60     cerr << "MUON detector not defined." << endl;
61     return;
62   }  
63
64   // Get geometry builder
65   AliMUONGeometryBuilder* builder = muon ->GetGeometryBuilder();
66
67   if (transforms) {
68     cout << "Generating transformation file ..." << endl;
69     builder->GetTransformer()->WriteTransformations("transform.dat.out");
70   }  
71
72   if (svmaps) {
73     cout << "Generating svmaps file ..." << endl;
74     builder->WriteSVMaps("svmap.dat.out", true, writeEnvelopes);
75   }  
76 }