]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHv2.cxx
Update to the ITS materials, delta rays now on
[u/mrichter/AliRoot.git] / RICH / AliRICHv2.cxx
CommitLineData
0fad2f8d 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$
452a64c6 18 Revision 1.1 2000/06/30 16:40:03 dibari
19 New configurale version.
20
0fad2f8d 21 Revision 1.4 2000/06/13 13:13:40 jbarbosa
22 Correcting previous correction...
23
24 Revision 1.3 2000/06/13 13:06:38 jbarbosa
25 Fixed compiling error for HP (multiple declaration)
26
27 Revision 1.2 2000/06/12 15:36:16 jbarbosa
28 Cleaned up version.
29
30 Revision 1.1 2000/06/09 15:00:31 jbarbosa
31 New full version. All parameters configurable.
32
33 Revision 1.9 2000/05/31 08:19:38 jbarbosa
34 Fixed bug in StepManager
35
36 Revision 1.8 2000/05/26 17:30:08 jbarbosa
37 Cerenkov angle now stored within cerenkov data structure.
38
39 Revision 1.7 2000/05/18 10:31:36 jbarbosa
40 Fixed positioning of spacers inside freon.
41 Fixed positioning of proximity gap
42 inside methane.
43 Fixed cut on neutral particles in the StepManager.
44
45 Revision 1.6 2000/04/28 11:51:58 morsch
46 Dimensions of arrays hits and Ckov_data corrected.
47
48 Revision 1.5 2000/04/19 13:28:46 morsch
49 Major changes in geometry (parametrised), materials (updated) and
50 step manager (diagnostics) (JB, AM)
51
52*/
53
54
55
56//////////////////////////////////////////////////////////
57// Manager and hits classes for set: RICH full version //
58//////////////////////////////////////////////////////////
59
60#include <TTUBE.h>
61#include <TNode.h>
62#include <TRandom.h>
63#include <TParticle.h>
64
65#include "AliRICHv2.h"
66#include "AliRICHHit.h"
67#include "AliRun.h"
68#include "AliMC.h"
69#include "iostream.h"
70#include "AliCallf77.h"
71#include "AliConst.h"
72#include "AliPDG.h"
73#include "TGeant3.h"
74
75ClassImp(AliRICHv2)
76
77//___________________________________________
452a64c6 78AliRICHv2::AliRICHv2()
0fad2f8d 79{
80
81// Default constructor fo AliRICHvv2 (full version)
82
83 //fChambers = 0;
84}
85
86//___________________________________________
87AliRICHv2::AliRICHv2(const char *name, const char *title)
452a64c6 88 : AliRICH(name,title)
0fad2f8d 89{
90
91// Full version of RICH with hits and diagnostics, CONFIURABLE
92
93 fCkovNumber=0;
94 fFreonProd=0;
95
96 fChambers = new TObjArray(kNCH);
97 for (Int_t i=0; i<kNCH; i++) {
98
99 (*fChambers)[i] = new AliRICHChamber();
100
101 }
102}
103
104void AliRICHv2::Init()
105{
106
107 printf("*********************************** RICH_INIT ***********************************\n");
108 printf("* *\n");
109 printf("* AliRICHv2 Configurable version started *\n");
110 printf("* *\n");
111
112
113 AliRICHSegmentation* segmentation;
114 AliRICHGeometry* geometry;
115 AliRICHResponse* response;
116
117
118 //
119 // Initialize Tracking Chambers
120 //
121 for (Int_t i=1; i<kNCH; i++) {
122 //printf ("i:%d",i);
123 ( (AliRICHChamber*) (*fChambers)[i])->Init();
124 }
125
126 //
127 // Set the chamber (sensitive region) GEANT identifier
128
129 ((AliRICHChamber*)(*fChambers)[0])->SetGid(1);
130 ((AliRICHChamber*)(*fChambers)[1])->SetGid(2);
131 ((AliRICHChamber*)(*fChambers)[2])->SetGid(3);
132 ((AliRICHChamber*)(*fChambers)[3])->SetGid(4);
133 ((AliRICHChamber*)(*fChambers)[4])->SetGid(5);
134 ((AliRICHChamber*)(*fChambers)[5])->SetGid(6);
135 ((AliRICHChamber*)(*fChambers)[6])->SetGid(7);
136
137 Float_t pos1[3]={0,471.8999,165.2599};
138 Chamber(0).SetChamberTransform(pos1[0],pos1[1],pos1[2],new TRotMatrix("rot993","rot993",90,0,70.69,90,19.30999,-90));
139
140 Float_t pos2[3]={171,470,0};
141 Chamber(1).SetChamberTransform(pos2[0],pos2[1],pos2[2],new TRotMatrix("rot994","rot994",90,-20,90,70,0,0));
142
143 Float_t pos3[3]={0,500,0};
144 Chamber(2).SetChamberTransform(pos3[0],pos3[1],pos3[2],new TRotMatrix("rot995","rot995",90,0,90,90,0,0));
145
146 Float_t pos4[3]={-171,470,0};
147 Chamber(3).SetChamberTransform(pos4[0],pos4[1],pos4[2], new TRotMatrix("rot996","rot996",90,20,90,110,0,0));
148
149 Float_t pos5[3]={161.3999,443.3999,-165.3};
150 Chamber(4).SetChamberTransform(pos5[0],pos5[1],pos5[2],new TRotMatrix("rot997","rot997",90,340,108.1999,70,18.2,70));
151
152 Float_t pos6[3]={0., 471.9, -165.3,};
153 Chamber(5).SetChamberTransform(pos6[0],pos6[1],pos6[2],new TRotMatrix("rot998","rot998",90,0,109.3099,90,19.30999,90));
154
155 Float_t pos7[3]={-161.399,443.3999,-165.3};
156 Chamber(6).SetChamberTransform(pos7[0],pos7[1],pos7[2],new TRotMatrix("rot999","rot999",90,20,108.1999,110,18.2,110));
157
158 segmentation=Chamber(0).GetSegmentationModel(0);
159 geometry=Chamber(0).GetGeometryModel();
160 response=Chamber(0).GetResponseModel();
161
162
163 printf("* Pads : %3dx%3d *\n",segmentation->Npx(),segmentation->Npy());
164 printf("* Pad size : %5.2f x%5.2f mm2 *\n",segmentation->Dpx(),segmentation->Dpy());
165 printf("* Gap Thickness : %5.1f cm *\n",geometry->GetGapThickness());
166 printf("* Radiator Width : %5.1f cm *\n",geometry->GetQuartzWidth());
167 printf("* Radiator Length : %5.1f cm *\n",geometry->GetQuartzLength());
168 printf("* Freon Thickness : %5.1f cm *\n",geometry->GetFreonThickness());
169 printf("* Charge Slope : %5.1f ADC *\n",response->ChargeSlope());
170 printf("* Feedback Prob. : %5.2f %% *\n",response->AlphaFeedback()*100);
171 printf("* Debug Level : %3d *\n",GetDebugLevel());
172 printf("* *\n");
173 printf("* Success! *\n");
174 printf("* *\n");
175 printf("*********************************************************************************\n");
176
177}
178