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