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