]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STRUCT/AliFRAMEv0.cxx
dFree = 0.45;
[u/mrichter/AliRoot.git] / STRUCT / AliFRAMEv0.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.13  2000/06/11 12:34:49  morsch
19 Coding rule violations corrected
20
21 Revision 1.12  2000/02/23 16:25:24  fca
22 AliVMC and AliGeant3 classes introduced
23 ReadEuclid moved from AliRun to AliModule
24
25 Revision 1.11  1999/11/01 20:42:42  fca
26 FRAME version 1 is now the symmetric one.
27
28 Revision 1.10  1999/10/06 20:56:55  fca
29 Introducing new frame 1099
30
31 Revision 1.9  1999/09/29 09:24:30  fca
32 Introduction of the Copyright and cvs Log
33
34 */
35
36 ////////////////////////////////////////////////
37 //  space frame class                            /
38 ////////////////////////////////////////////////
39
40 #include "AliFRAMEv0.h"
41 #include "AliRun.h"
42 #include "AliMC.h"
43 #include "TSystem.h"
44  
45 ClassImp(AliFRAMEv0)
46  
47 //_____________________________________________________________________________
48 AliFRAMEv0::AliFRAMEv0()
49 {
50 // Constructor
51 }
52
53 //_____________________________________________________________________________
54 AliFRAMEv0::AliFRAMEv0(const char *name, const char *title)
55   : AliFRAME(name,title)
56 {
57 // Constructor
58   printf("Create FRAMEv0 object\n");  
59   fEuclidGeometry="$(ALICE_ROOT)/Euclid/frame1099h.euc";
60   fEuclidMaterial="$(ALICE_ROOT)/Euclid/frame.tme";
61 }
62
63  
64 //___________________________________________
65 void AliFRAMEv0::CreateGeometry()
66 {
67 //Begin_Html
68 /*
69 <img src="picts/frame.gif">
70 */
71 //End_Html
72
73
74 //Begin_Html
75 /*
76 <img src="picts/tree_frame.gif">
77 */
78 //End_Html
79
80   char *filetmp;
81   char topvol[5];
82   
83 //
84 // The Space frame
85   filetmp = gSystem->ExpandPathName(fEuclidGeometry.Data());
86   FILE *file = fopen(filetmp,"r");
87   delete [] filetmp;
88   if(file) {
89     fclose(file);
90     printf(" Reading FRAME geometry\n");
91     ReadEuclid(fEuclidGeometry.Data(),topvol);
92   } else {
93     Warning("CreateGeometry","The Euclid file %s does not exist!\n",
94             fEuclidGeometry.Data());
95     exit(1);
96   }
97 //
98 // --- Place the FRAME ghost volume (B010) in its mother volume (ALIC)
99 //    and make it invisible
100 // 
101 //  AliMatrix(idrotm[2001],90.,0.,90.,90.,180.,0.);
102
103   gMC->Gspos(topvol,1,"ALIC",0,0,0,0,"ONLY");
104
105   gMC->Gsatt(topvol, "SEEN", 0);
106 }
107
108  
109 //___________________________________________
110 void AliFRAMEv0::CreateMaterials()
111 {
112   char *filetmp;
113   printf("Create FRAMEv0 materials\n");
114   filetmp = gSystem->ExpandPathName(fEuclidMaterial.Data());
115   FILE *file = fopen(filetmp,"r");
116   delete [] filetmp;
117   if(file) {
118     fclose(file);
119     ReadEuclidMedia(fEuclidMaterial.Data());
120   } else {
121     Warning("CreateMaterials","The material file %s does not exist!\n",
122             fEuclidMaterial.Data());
123     exit(1);
124   }
125 }
126
127 //_____________________________________________________________________________
128 void AliFRAMEv0::Init()
129 {
130   //
131   // Initialise the module after the geometry has been defined
132   //
133
134   printf("**************************************"
135          " FRAME "
136          "**************************************\n");
137   printf("\n     Version 0 of FRAME initialised, "
138          "with openings for PHOS and RICH\n\n");
139   printf("**************************************"
140          " FRAME "
141          "**************************************\n");
142
143 }
144
145
146
147
148
149
150
151
152
153
154
155
156