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