47890cd3 |
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 | |
88cb7938 |
16 | /* $Id$ */ |
47890cd3 |
17 | |
18 | /////////////////////////////////////////////////////////////////////////// |
19 | // // |
20 | // V-Zero Detector // |
21 | // This class contains the base procedures for the VZERO detector // |
22 | // All comments should be sent to Brigitte CHEYNIS : // |
61874e87 |
23 | // b.cheynis@ipnl.in2p3.fr // |
24 | // // |
47890cd3 |
25 | // // |
26 | /////////////////////////////////////////////////////////////////////////// |
27 | |
88cb7938 |
28 | |
3af027ba |
29 | #include <Riostream.h> |
47890cd3 |
30 | |
47890cd3 |
31 | #include "AliVZERO.h" |
47890cd3 |
32 | |
33 | ClassImp(AliVZERO) |
34 | |
35 | |
36 | //_____________________________________________________________________________ |
37 | AliVZERO::AliVZERO(const char *name, const char *title) |
38 | : AliDetector(name,title) |
39 | { |
40 | // |
41 | // Standard constructor for VZERO Detector |
42 | // |
43 | |
61874e87 |
44 | fIshunt = 1; // All hits are associated with primary particles |
47890cd3 |
45 | |
61874e87 |
46 | fHits = new TClonesArray("AliVZEROhit", 400); |
47 | fDigits = new TClonesArray("AliVZEROdigit",400); |
48 | |
5d12ce38 |
49 | gAlice->GetMCApp()->AddHitList(fHits); |
61874e87 |
50 | |
c288a388 |
51 | fThickness = 4.1; // total thickness of the V0R box |
52 | fThickness1 = 0.7; // thickness of the thickest cell (2.5 in version 0) |
47890cd3 |
53 | |
54 | fMaxStepQua = 0.05; |
55 | fMaxStepAlu = 0.01; |
56 | |
57 | fMaxDestepQua = -1.0; |
58 | fMaxDestepAlu = -1.0; |
59 | |
60 | SetMarkerColor(kRed); |
61874e87 |
61 | } |
62 | |
63 | //_____________________________________________________________________________ |
64 | AliVZERO::~AliVZERO() |
65 | { |
66 | if (fHits) { |
67 | fHits->Delete(); |
68 | delete fHits; |
69 | } |
70 | } |
47890cd3 |
71 | |
72 | //_____________________________________________________________________________ |
73 | void AliVZERO::BuildGeometry() |
74 | { |
75 | // |
76 | // Build simple ROOT TNode geometry for event display |
77 | // |
78 | } |
79 | |
80 | //_____________________________________________________________________________ |
81 | void AliVZERO::CreateGeometry() |
82 | { |
83 | // |
84 | // Build simple ROOT TNode geometry for event display |
85 | // |
86 | } |
87 | //_____________________________________________________________________________ |
88 | void AliVZERO::CreateMaterials() |
89 | { |
90 | // |
91 | // Build simple ROOT TNode geometry for event display |
92 | // |
93 | } |
61874e87 |
94 | |
95 | |
96 | |
47890cd3 |
97 | //_____________________________________________________________________________ |
652e94c3 |
98 | Int_t AliVZERO::DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/) |
47890cd3 |
99 | { |
100 | // |
101 | // Calculate the distance from the mouse to the VZERO on the screen |
102 | // Dummy routine |
103 | // |
104 | |
105 | return 9999; |
106 | } |
107 | |
108 | //------------------------------------------------------------------------- |
109 | void AliVZERO::Init() |
110 | { |
111 | // |
112 | // Initialise the VZERO after it has been built |
113 | // |
114 | } |
115 | |
61874e87 |
116 | |
47890cd3 |
117 | //------------------------------------------------------------------------- |
118 | |
119 | void AliVZERO::SetMaxStepQua(Float_t p1) |
120 | { |
121 | fMaxStepQua = p1; |
122 | } |
123 | |
124 | //___________________________________________ |
125 | void AliVZERO::SetMaxStepAlu(Float_t p1) |
126 | { |
127 | fMaxStepAlu = p1; |
128 | } |
129 | |
130 | //___________________________________________ |
131 | void AliVZERO::SetMaxDestepQua(Float_t p1) |
132 | { |
133 | fMaxDestepQua = p1; |
134 | } |
135 | |
136 | //___________________________________________ |
137 | void AliVZERO::SetMaxDestepAlu(Float_t p1) |
138 | { |
139 | fMaxDestepAlu = p1; |
140 | } |
4dbb3fd3 |
141 | |
142 | //___________________________________________ |
143 | AliLoader* AliVZERO::MakeLoader(const char* topfoldername) |
144 | { |
145 | // builds VZEROgetter (AliLoader type) |
146 | // if detector wants to use customized getter, it must overload this method |
147 | |
148 | Info("MakeLoader","Creating AliVZEROLoader. Top folder is %s.",topfoldername); |
149 | fLoader = new AliVZEROLoader(GetName(),topfoldername); |
150 | return fLoader; |
151 | } |
152 | |
0e305a84 |
153 | //___________________________________________ |
154 | void AliVZERO::SetTreeAddress(){ |
155 | // Sets tree address for hits. |
156 | |
157 | if (fLoader->TreeH() && (fHits == 0x0)) |
158 | fHits = new TClonesArray("AliVZEROhit", 400); |
159 | |
160 | AliDetector::SetTreeAddress(); |
161 | } |
4dbb3fd3 |
162 | |
163 | |