Updated VZERO source
[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
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 #include <iostream.h>
29 #include <fstream.h>
30
31 #include "TMath.h"
32 #include "TTUBE.h"
33 #include "TNode.h"
34 #include "TGeometry.h"
35 #include "AliRun.h"
36 #include "AliVZERO.h"
37 #include "AliVZEROdigit.h"
38 #include "AliMC.h"
39 #include "AliVZEROhit.h"
40
41 ClassImp(AliVZERO)
42  
43
44 //_____________________________________________________________________________
45 AliVZERO::AliVZERO(const char *name, const char *title)
46        : AliDetector(name,title)
47 {
48   //
49   // Standard constructor for VZERO Detector
50   //
51   
52   fIshunt       =  1;  // All hits are associated with primary particles  
53    
54   fHits         =  new TClonesArray("AliVZEROhit", 400);
55   fDigits       =  new TClonesArray("AliVZEROdigit",400); 
56    
57   gAlice->AddHitList(fHits);
58
59 //  fDigits       =  new TClonesArray("AliVZEROdigit",400) ; 
60
61   fThickness    =  3.1;   // total thickness of the V0R box
62   fThickness1   =  1.0;   // thickness of the thickest cell (2.5 in version 0)
63   
64   fMaxStepQua   =  0.05; 
65   fMaxStepAlu   =  0.01; 
66   
67   fMaxDestepQua =  -1.0;
68   fMaxDestepAlu =  -1.0;
69   
70   SetMarkerColor(kRed);
71 }
72
73 //_____________________________________________________________________________
74 AliVZERO::~AliVZERO()
75 {
76     if (fHits) {
77         fHits->Delete();
78         delete fHits;
79     }
80 }
81
82 //_____________________________________________________________________________
83 void AliVZERO::BuildGeometry()
84 {
85   //
86   // Build simple ROOT TNode geometry for event display
87   //
88 }
89  
90 //_____________________________________________________________________________
91 void AliVZERO::CreateGeometry()
92 {
93   //
94   // Build simple ROOT TNode geometry for event display
95   //
96 }
97 //_____________________________________________________________________________
98 void AliVZERO::CreateMaterials()
99 {
100   //
101   // Build simple ROOT TNode geometry for event display
102   //
103 }
104
105
106
107 //_____________________________________________________________________________
108 Int_t AliVZERO::DistanceToPrimitive(Int_t px, Int_t py)
109 {
110   //
111   // Calculate the distance from the mouse to the VZERO on the screen
112   // Dummy routine
113   //
114   
115   return 9999;
116 }
117  
118 //-------------------------------------------------------------------------
119 void AliVZERO::Init()
120 {
121   //
122   // Initialise the VZERO after it has been built
123   //
124 }
125
126
127 //-------------------------------------------------------------------------
128
129 void AliVZERO::SetMaxStepQua(Float_t p1)
130 {
131      fMaxStepQua = p1;
132 }
133
134 //___________________________________________
135 void AliVZERO::SetMaxStepAlu(Float_t p1)
136 {
137     fMaxStepAlu = p1;
138 }
139
140 //___________________________________________
141 void AliVZERO::SetMaxDestepQua(Float_t p1)
142 {
143     fMaxDestepQua = p1;
144 }
145
146 //___________________________________________
147 void AliVZERO::SetMaxDestepAlu(Float_t p1)
148 {
149     fMaxDestepAlu = p1;
150 }