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