]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant3/AliGeant3GeometryGUI.cxx
First version of AliGeant3
[u/mrichter/AliRoot.git] / AliGeant3 / AliGeant3GeometryGUI.cxx
CommitLineData
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$
18Revision 1.4 2002/03/19 09:36:17 morsch
19Unnecessary includes removes, one included. (Jacek M. Holeczek)
20
21Revision 1.3 2001/10/24 12:04:24 morsch
22Expand divisions only on request.
23
24Revision 1.2 2001/07/09 11:45:15 morsch
25Reduced functionality: mediate between GUI and Geometry Conversion.
26
27Revision 1.1 2000/07/13 16:19:10 fca
28Mainly coding conventions + some small bug fixes
29
30Revision 1.8 2000/07/12 08:56:32 fca
31Coding convention correction and warning removal
32
33Revision 1.7 2000/06/28 21:27:45 morsch
34Most coding rule violations corrected.
35Still to do: Split the file (on file per class) ? Avoid the global variables.
36Copy constructors and assignment operators (dummy ?)
37
38Revision 1.6 2000/04/14 11:07:46 morsch
39Correct volume to medium assignment in case several media are asigned to the
40same material.
41
42Revision 1.5 2000/03/20 15:11:03 fca
43Mods to make the code compile on HP
44
45Revision 1.4 2000/01/18 16:12:08 morsch
46Bug in calculation of number of volume divisions and number of positionings corrected
47Browser for Material and Media properties added
48
49Revision 1.3 1999/11/14 14:31:14 fca
50Correct small error and remove compilation warnings on HP
51
52Revision 1.2 1999/11/10 16:53:35 fca
53The 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
82AliG3Volume *gCurrentVolume = new AliG3Volume("NULL");
83AliG3Material *gCurrentMaterial = new AliG3Material();
84AliG3Medium *gCurrentMedium = new AliG3Medium();
85
86ClassImp(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
112void AliGeant3GeometryGUI::Streamer(TBuffer &)
113{
114// Dummy Streamer
115;
116}
117
118
119
120
121