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