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