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