software update to include time corrections during reconstruction.
[u/mrichter/AliRoot.git] / TOF / AliTOFcluster.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 Revision 0.02 2005/07/27 A. De Caro
17          Implement new ctor AliTOFcluster(Double_t *, Int_t *)
18          for cluster construction from raw data
19
20 Revision 0.01 2005/07/25 A. De Caro
21          Implement new class statring from
22          class definition inside AliTOFtracker class
23          (originally implemented by S. Arcelli and C. Zampolli)
24 */
25
26 ////////////////////////////////////////////////////////
27 //                                                    //
28 //    AliTOFcluster Class                             //
29 //    Description: class for TOF cluster definition   //
30 //                                                    //
31 ////////////////////////////////////////////////////////
32
33 #include "AliTOFcluster.h"
34 //#include "AliLog.h"
35 //#include "AliGeomManager.h"
36 //#include "TGeoMatrix.h"
37
38 ClassImp(AliTOFcluster)
39
40 AliTOFcluster::AliTOFcluster():
41   AliCluster3D(),
42   fIdx(-1),
43   fQuality(-100), 
44   fR(0),
45   fPhi(0),
46   fTDC(0),
47   fToT(0),
48   fADC(0),
49   fTdcND(0),
50   fTdcRAW(0),
51   fStatus(kTRUE),
52   fDeltaBC(0),
53   fL0L1Latency(0)
54  {
55   //
56   // default ctor
57   //
58
59   Int_t ii;
60   for (ii=0; ii<5; ii++) fdetIndex[ii] = -1;
61 }
62 //-------------------------------------------------------------------------
63
64 AliTOFcluster::AliTOFcluster(UShort_t volId, 
65    Float_t x,   Float_t y,   Float_t z,
66    Float_t sx2, Float_t sxy, Float_t sxz,
67                 Float_t sy2, Float_t syz,
68                              Float_t sz2,
69                              Int_t *lab, Int_t * const ind,
70                              Int_t *par, Bool_t status, Int_t idx):
71   AliCluster3D(volId,x,y,z,sx2,sxy,sxz,sy2,syz,sz2,lab),
72   fIdx(idx),
73   fQuality(-100), 
74   fR(0),
75   fPhi(0),
76   fTDC(par[0]),
77   fToT(par[1]),
78   fADC(par[2]),
79   fTdcND(par[3]),
80   fTdcRAW(par[4]),
81   fStatus(status),
82   fDeltaBC(par[5]),
83   fL0L1Latency(par[6])
84  {
85   //
86   // constructor
87   //
88    Int_t ii;
89    for (ii=0; ii<5; ii++) fdetIndex[ii] = ind[ii];
90    
91    Float_t xyz[3];
92    GetGlobalXYZ(xyz);
93    fR   = TMath::Sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);   
94    fPhi = TMath::ATan2(xyz[1], xyz[0]);
95
96 }
97 //-------------------------------------------------------------------------
98
99 AliTOFcluster::AliTOFcluster(const AliTOFcluster & cluster):
100   AliCluster3D(cluster),
101   fIdx(cluster.fIdx),
102   fQuality(cluster.fQuality), 
103   fR(cluster.fR),
104   fPhi(cluster.fPhi),
105   fTDC(cluster.fTDC),
106   fToT(cluster.fToT),
107   fADC(cluster.fADC),
108   fTdcND(cluster.fTdcND),
109   fTdcRAW(cluster.fTdcRAW),
110   fStatus(cluster.fStatus),
111   fDeltaBC(cluster.fDeltaBC),
112   fL0L1Latency(cluster.fL0L1Latency)
113  {
114   //
115   // copy ctor for AliTOFcluster object
116   //
117
118   Int_t ii;
119   for (ii=0; ii<5; ii++) fdetIndex[ii] = cluster.fdetIndex[ii];
120 }
121 //-------------------------------------------------------------------------
122
123 AliTOFcluster::~AliTOFcluster() {
124
125   //
126   // dtor
127   //
128
129 }
130
131