]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFcluster.cxx
Separate trees for ITSsa and global tracks
[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   fESDID(-1)
55  {
56   //
57   // default ctor
58   //
59
60   Int_t ii;
61   for (ii=0; ii<5; ii++) fdetIndex[ii] = -1;
62 }
63 //-------------------------------------------------------------------------
64
65 AliTOFcluster::AliTOFcluster(UShort_t volId, 
66    Float_t x,   Float_t y,   Float_t z,
67    Float_t sx2, Float_t sxy, Float_t sxz,
68                 Float_t sy2, Float_t syz,
69                              Float_t sz2,
70                              Int_t *lab, Int_t * const ind,
71                              Int_t *par, Bool_t status, Int_t idx):
72   AliCluster3D(volId,x,y,z,sx2,sxy,sxz,sy2,syz,sz2,lab),
73   fIdx(idx),
74   fQuality(-100), 
75   fR(0),
76   fPhi(0),
77   fTDC(par[0]),
78   fToT(par[1]),
79   fADC(par[2]),
80   fTdcND(par[3]),
81   fTdcRAW(par[4]),
82   fStatus(status),
83   fDeltaBC(par[5]),
84   fL0L1Latency(par[6]),
85   fESDID(-1)
86  {
87   //
88   // constructor
89   //
90    Int_t ii;
91    for (ii=0; ii<5; ii++) fdetIndex[ii] = ind[ii];
92    
93    Float_t xyz[3];
94    GetGlobalXYZ(xyz);
95    fR   = TMath::Sqrt(xyz[0]*xyz[0] + xyz[1]*xyz[1]);   
96    fPhi = TMath::ATan2(xyz[1], xyz[0]);
97
98 }
99 //-------------------------------------------------------------------------
100
101 AliTOFcluster::AliTOFcluster(const AliTOFcluster & cluster):
102   AliCluster3D(cluster),
103   fIdx(cluster.fIdx),
104   fQuality(cluster.fQuality), 
105   fR(cluster.fR),
106   fPhi(cluster.fPhi),
107   fTDC(cluster.fTDC),
108   fToT(cluster.fToT),
109   fADC(cluster.fADC),
110   fTdcND(cluster.fTdcND),
111   fTdcRAW(cluster.fTdcRAW),
112   fStatus(cluster.fStatus),
113   fDeltaBC(cluster.fDeltaBC),
114   fL0L1Latency(cluster.fL0L1Latency),
115   fESDID(-1)
116  {
117   //
118   // copy ctor for AliTOFcluster object
119   //
120
121   Int_t ii;
122   for (ii=0; ii<5; ii++) fdetIndex[ii] = cluster.fdetIndex[ii];
123 }
124 //-------------------------------------------------------------------------
125
126 AliTOFcluster & AliTOFcluster::operator = (const AliTOFcluster & cluster)
127 {
128
129   if (this == &cluster)
130     return *this;
131
132   TObject::operator=(cluster);
133   fIdx=cluster.fIdx;
134   fQuality=cluster.fQuality;
135   fR=cluster.fR;
136   fPhi=cluster.fPhi;
137   fTDC=cluster.fTDC;
138   fToT=cluster.fToT;
139   fADC=cluster.fADC;
140   fTdcND=cluster.fTdcND;
141   fTdcRAW=cluster.fTdcRAW;
142   fStatus=cluster.fStatus;
143   fDeltaBC=cluster.fDeltaBC;
144   fL0L1Latency=cluster.fL0L1Latency;
145   fESDID = -1;
146   for (Int_t ii=0; ii<5; ii++)
147     fdetIndex[ii] = cluster.fdetIndex[ii];
148   return *this;
149
150 }
151 //-------------------------------------------------------------------------
152
153 AliTOFcluster::~AliTOFcluster() {
154
155   //
156   // dtor
157   //
158
159 }
160
161