21c53d2dd35435bd1cdb2dc94c23650f725f3302
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.cxx
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 /* $Id$ */
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 :                    //
23 //                                 b.cheynis@ipnl.in2p3.fr               //
24 //                                                                       //
25 //                                                                       //
26 ///////////////////////////////////////////////////////////////////////////
27
28
29 #include <Riostream.h>
30
31 #include "AliVZERO.h"
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   
44   fIshunt       =  1;  // All hits are associated with primary particles  
45    
46   fHits         =  new TClonesArray("AliVZEROhit", 400);
47   fDigits       =  new TClonesArray("AliVZEROdigit",400); 
48    
49   gAlice->GetMCApp()->AddHitList(fHits);
50
51   fThickness    =  4.1;   // total thickness of the V0R box
52   fThickness1   =  0.7;   // thickness of the thickest cell (2.5 in version 0)
53   
54   fMaxStepQua   =  0.05; 
55   fMaxStepAlu   =  0.01; 
56   
57   fMaxDestepQua =  -1.0;
58   fMaxDestepAlu =  -1.0;
59   
60   SetMarkerColor(kRed);
61 }
62
63 //_____________________________________________________________________________
64 AliVZERO::~AliVZERO()
65 {
66     if (fHits) {
67         fHits->Delete();
68         delete fHits;
69     }
70 }
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 }
94
95
96
97 //_____________________________________________________________________________
98 Int_t AliVZERO::DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/)
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
116
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 }
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
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 }
162
163