New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[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 // Macro for generating the geometry data files:
19 // volpath.dat, transform.dat, svmap.dat.
20 // To be run from aliroot:
21 // .x MUONGenerateGeometryData.C
22 //
23 // The generated files do not replace the existing ones
24 // but have different names (with extension ".out").
25 //
26 //  Author: I. Hrivnacova, IPN Orsay
27
28 #if !defined(__CINT__) || defined(__MAKECINT__)
29
30 #include "AliMUON.h"
31 #include "AliMUONGeometryBuilder.h"
32 #include "AliMUONGeometryTransformer.h"
33
34 #include "AliRun.h"
35
36 #include <Riostream.h>
37
38 #endif
39
40 void MUONGenerateGeometryData(Bool_t transforms = true, 
41                               Bool_t svmaps = true,
42                               Bool_t writeEnvelopes = true)
43 {
44   // Initialize
45   gAlice->Init("$ALICE_ROOT/MUON/Config.C");
46   cout << "Init done " << endl;
47
48   // Get MUON detector
49   AliMUON* muon = (AliMUON*)gAlice->GetModule("MUON");
50   if (!muon) {
51     cerr << "MUON detector not defined." << endl;
52     return;
53   }  
54
55   // Get geometry builder
56   AliMUONGeometryBuilder* builder = muon ->GetGeometryBuilder();
57
58   if (transforms) {
59     cout << "Generating transformation file ..." << endl;
60     builder->GetTransformer()->WriteTransformations("transform.dat.out");
61   }  
62
63   if (svmaps) {
64     cout << "Generating svmaps file ..." << endl;
65     builder->WriteSVMaps("svmap.dat.out", true, writeEnvelopes);
66   }  
67 }