AliVMC and AliGeant3 classes introduced
[u/mrichter/AliRoot.git] / STRUCT / AliPIPEv0.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.6  1999/09/29 09:24:30  fca
19 Introduction of the Copyright and cvs Log
20
21 */
22
23 ////////////////////////////////////////////////
24 //  Beam pipe class                            /
25 ////////////////////////////////////////////////
26
27 #include "AliPIPEv0.h"
28 #include "AliRun.h"
29 #include "TSystem.h"
30  
31 ClassImp(AliPIPEv0)
32  
33 //_____________________________________________________________________________
34 AliPIPEv0::AliPIPEv0()
35 {
36 }
37
38 //_____________________________________________________________________________
39 AliPIPEv0::AliPIPEv0(const char *name, const char *title)
40   : AliPIPE(name,title)
41 {
42 }
43
44  
45 //___________________________________________
46 void AliPIPEv0::CreateGeometry()
47 {
48   printf("Create PIPEv0 geometry\n ");
49 //Begin_Html
50 /*
51 <img src="picts/pipe.gif">
52 */
53 //End_Html
54
55
56 //Begin_Html
57 /*
58 <img src="picts/tree_pipe.gif">
59 */
60 //End_Html
61
62   const char *pipename = "$(ALICE_ROOT)/Euclid/bpipeb.euc";
63   const char *pumpname = "$(ALICE_ROOT)/Euclid/bpumpa.euc";
64   char *filtmp;
65   char topvol[5];
66   printf("Create PIPEv0 geometry ");
67   
68   Int_t idrotm[2099];
69
70 //
71 // The peam pipe up to the Front Absorber
72   filtmp=gSystem->ExpandPathName(pipename);
73   FILE *file = fopen(filtmp,"r");
74   delete [] filtmp;
75   if(file) {
76     fclose(file);
77     printf(" Reading PIPE \n");
78     ReadEuclid(pipename,topvol);
79   } else {
80     printf(" THE GEOM FILE %s DOES NOT EXIST !\n",pipename);
81     exit(1);
82   }
83 //
84 // The Ion Pump
85   filtmp=gSystem->ExpandPathName(pumpname);
86   file = fopen(filtmp,"r");
87   delete [] filtmp;
88   if(file) {
89     fclose(file);
90     printf(" Reading PUMP \n");
91     ReadEuclid(pumpname,topvol);
92   } else {
93     printf(" THE GEOM FILE %s DOES NOT EXIST !\n",pumpname);
94     exit(1);
95   }
96 //
97 // --- Place the PIPE ghost volume (QBPM) in its mother volume (ALIC)
98 //    and make it invisible
99 // 
100   AliMatrix(idrotm[2001],90.,0.,90.,90.,180.,0.);
101   
102   gMC->Gspos("QBPM",1,"ALIC",0,0,0,idrotm[2001],"ONLY");
103 //
104 //    PLACE ION PUMP (QIPM) AT Z=-385.
105 //
106   gMC->Gspos("QIPM",1,"ALIC",0,0,-385,idrotm[2001],"ONLY");
107
108   gMC->Gsatt("QIPM", "SEEN", 0);
109   gMC->Gsatt("QBPM", "SEEN", 0);
110   gMC->Gsatt("QB20", "SEEN", 0);
111 }
112
113  
114 //___________________________________________
115 void AliPIPEv0::DrawModule()
116 {
117 }
118
119 //___________________________________________
120 void AliPIPEv0::CreateMaterials()
121 {
122   printf("Create PIPEv0 materials\n");
123   const char *name = "$(ALICE_ROOT)/Euclid/pipe.tme";
124   char *filtmp;
125   filtmp=gSystem->ExpandPathName(name);
126   FILE *file = fopen(filtmp,"r");
127   delete [] filtmp;
128   if(file) {
129     fclose(file);
130     ReadEuclidMedia(name);
131   } else {
132     printf(" THE MEDIA FILE %s DOES NOT EXIST !\n",name);
133     exit(1);
134   }
135 }
136
137
138
139
140
141
142
143
144
145
146
147
148
149