]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant3/AliGeant3GeometryGUI.cxx
The weird problem that destroys gAlice when trying to get a task from the file (Branc...
[u/mrichter/AliRoot.git] / AliGeant3 / AliGeant3GeometryGUI.cxx
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