]>
Commit | Line | Data |
---|---|---|
a524cc6b | 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 | /* | |
17 | $Log$ | |
18 | Revision 1.4 2002/03/19 09:36:17 morsch | |
19 | Unnecessary includes removes, one included. (Jacek M. Holeczek) | |
20 | ||
21 | Revision 1.3 2001/10/24 12:04:24 morsch | |
22 | Expand divisions only on request. | |
23 | ||
24 | Revision 1.2 2001/07/09 11:45:15 morsch | |
25 | Reduced functionality: mediate between GUI and Geometry Conversion. | |
26 | ||
27 | Revision 1.1 2000/07/13 16:19:10 fca | |
28 | Mainly coding conventions + some small bug fixes | |
29 | ||
30 | Revision 1.8 2000/07/12 08:56:32 fca | |
31 | Coding convention correction and warning removal | |
32 | ||
33 | Revision 1.7 2000/06/28 21:27:45 morsch | |
34 | Most coding rule violations corrected. | |
35 | Still to do: Split the file (on file per class) ? Avoid the global variables. | |
36 | Copy constructors and assignment operators (dummy ?) | |
37 | ||
38 | Revision 1.6 2000/04/14 11:07:46 morsch | |
39 | Correct volume to medium assignment in case several media are asigned to the | |
40 | same material. | |
41 | ||
42 | Revision 1.5 2000/03/20 15:11:03 fca | |
43 | Mods to make the code compile on HP | |
44 | ||
45 | Revision 1.4 2000/01/18 16:12:08 morsch | |
46 | Bug in calculation of number of volume divisions and number of positionings corrected | |
47 | Browser for Material and Media properties added | |
48 | ||
49 | Revision 1.3 1999/11/14 14:31:14 fca | |
50 | Correct small error and remove compilation warnings on HP | |
51 | ||
52 | Revision 1.2 1999/11/10 16:53:35 fca | |
53 | The new geometry viewer from A.Morsch | |
54 | ||
55 | */ | |
56 | ||
57 | /* | |
58 | * Version: 0 | |
59 | * Written by Andreas Morsch | |
60 | * | |
61 | * | |
62 | * | |
63 | * For questions critics and suggestions to this part of the code | |
64 | * contact andreas.morsch@cern.ch | |
65 | * | |
66 | **************************************************************************/ | |
67 | ||
68 | ||
69 | #include "AliGeant3GeometryGUI.h" | |
70 | #include "AliG3Volume.h" | |
71 | #include "AliG3Material.h" | |
72 | #include "AliG3Medium.h" | |
73 | #include "AliGuiGeomMain.h" | |
74 | #include "AliG3toRoot.h" | |
75 | ||
76 | #include <TArrayF.h> | |
77 | #include <TRotMatrix.h> | |
78 | #include <TGeometry.h> | |
79 | #include <TFile.h> | |
80 | #include <TFolder.h> | |
81 | ||
82 | AliG3Volume *gCurrentVolume = new AliG3Volume("NULL"); | |
83 | AliG3Material *gCurrentMaterial = new AliG3Material(); | |
84 | AliG3Medium *gCurrentMedium = new AliG3Medium(); | |
85 | ||
86 | ClassImp(AliGeant3GeometryGUI) | |
87 | ||
88 | AliGeant3GeometryGUI::AliGeant3GeometryGUI(const char* opt) | |
89 | { | |
90 | char tmp[20]; | |
91 | strcpy(tmp, opt); | |
92 | ||
93 | // Constructor | |
94 | fPanel = new AliGuiGeomMain(gClient->GetRoot(), 500, 500); | |
95 | // Store local copy of zebra bank entries | |
96 | AliG3toRoot* geometry = new AliG3toRoot(); | |
97 | if (strcmp(tmp, "expand") == 0) geometry->SetExpandDivisions(); | |
98 | geometry->G3toRoot(); | |
99 | // geometry->ConvertToRootShapes(); | |
100 | ||
101 | AliG3Volume* top = (AliG3Volume*) | |
102 | (geometry->GetTopFolder()->FindObject("ALIC")); | |
103 | gCurrentVolume = top; | |
104 | // | |
105 | // Mediate between g3 Geometry and GUI | |
106 | fPanel->SetMaterialComboEntries(geometry->GetMaterials()); | |
107 | fPanel->SetMediaComboEntries(geometry->GetMedia()); | |
108 | fPanel->AddFoldersRecursively(geometry->GetTopFolder()); | |
109 | fPanel->Update(); | |
110 | } | |
111 | ||
112 | void AliGeant3GeometryGUI::Streamer(TBuffer &) | |
113 | { | |
114 | // Dummy Streamer | |
115 | ; | |
116 | } | |
117 | ||
118 | ||
119 | ||
120 | ||
121 |