]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ESD/AliESDTZERO.cxx
f79e0a5315f475c2491038045e51d37e7822771f
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDTZERO.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 //                        Implemenation Class AliESDTZERO
18 //   This is a class that summarizes the TZERO data for the ESD   
19 //   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
20 //-------------------------------------------------------------------------
21
22
23
24 #include "AliESDTZERO.h"
25 #include "AliLog.h"
26
27
28 ClassImp(AliESDTZERO)
29
30 //______________________________________________________________________________
31 AliESDTZERO::AliESDTZERO() :
32   TObject(),
33   fT0clock(0),
34   fT0zVertex(0),
35   fT0timeStart(0),   
36   fT0trig(0),
37   fPileup(kFALSE),
38   fSattelite(kFALSE),
39   fMultC(0),
40   fMultA(0),
41   fBackground(0)
42
43 {
44   for(int i = 0;i<24;i++) {
45     fT0time[i] = fT0amplitude[i] = 0;
46     for(Int_t iHit=0; iHit<5; iHit++) {
47       fTimeFull[i][iHit] = -9999;   
48       if (i==0) fOrA[iHit] = -9999; 
49       if (i==0)fOrC[iHit] = -9999;  
50       if (i==0) fTVDC[iHit] = -9999; 
51     }
52   }
53   for(Int_t iHit=0; iHit<6; iHit++) fPileupTime[iHit]= -9999;
54   for(int i = 0;i<3;i++) fT0TOF[i] = -9999;
55 }
56 //______________________________________________________________________________
57 AliESDTZERO::AliESDTZERO(const AliESDTZERO &tzero ) :
58   TObject(tzero),
59   fT0clock(tzero.fT0clock),  
60   fT0zVertex(tzero.fT0zVertex),
61   fT0timeStart(tzero.fT0timeStart),
62   fT0trig(tzero.fT0trig),
63   fPileup(tzero.fPileup),
64   fSattelite(tzero.fSattelite),
65   fMultC(tzero.fMultC),
66   fMultA(tzero.fMultA),
67   fBackground(tzero.fBackground)
68 {
69   // copy constuctor
70   for(int i = 0;i<3;i++) fT0TOF[i] = tzero.fT0TOF[i];
71   for(int iHit=0; iHit<6; iHit++)  fPileupTime[iHit] = tzero.fPileupTime[iHit]; 
72   for(int i = 0;i<24;i++){
73     fT0time[i] = tzero.fT0time[i]; 
74     fT0amplitude[i] = tzero.fT0amplitude[i];
75     for(Int_t iHit=0; iHit<5; iHit++) {
76       fTimeFull[i][iHit] = tzero.fTimeFull[i][iHit];   
77      if (i==0)  fOrA[iHit] = tzero.fOrA[iHit]; 
78      if (i==0)  fOrC[iHit] = tzero.fOrC[iHit];  
79      if (i==0)  fTVDC[iHit] = tzero.fTVDC[iHit]; 
80     }
81   }
82 }
83 //______________________________________________________________________________
84 AliESDTZERO& AliESDTZERO::operator=(const AliESDTZERO& tzero){
85   // assigmnent operator
86   if(this!=&tzero) {
87     TObject::operator=(tzero);
88     fT0clock = tzero.fT0clock;
89     fT0zVertex = tzero.fT0zVertex;
90     fT0timeStart = tzero.fT0timeStart;
91     fPileup = tzero.fPileup;
92     fSattelite = tzero.fSattelite;
93     fBackground = tzero.fBackground;
94     fMultC = tzero.fMultC;
95     fMultA = tzero.fMultA;
96     fT0trig = tzero.fT0trig;
97     for(int i = 0;i<3;i++) fT0TOF[i] = tzero.fT0TOF[i];
98     for(int iHit=0; iHit<6; iHit++)  fPileupTime[iHit] = tzero.fPileupTime[iHit]; 
99     for(int i = 0;i<24;i++){
100       fT0time[i] = tzero.fT0time[i]; 
101       fT0amplitude[i] = tzero.fT0amplitude[i];
102       for(Int_t iHit=0; iHit<5; iHit++) {
103         fTimeFull[i][iHit] = tzero.fTimeFull[i][iHit];   
104         if (i==0)       fOrA[iHit] = tzero.fOrA[iHit]; 
105         if (i==0)       fOrC[iHit] = tzero.fOrC[iHit];  
106         if (i==0)       fTVDC[iHit] = tzero.fTVDC[iHit]; 
107     }
108    }
109   } 
110   return *this;
111 }
112 //______________________________________________________________________________
113 void AliESDTZERO::Copy(TObject &obj) const {
114   
115   // this overwrites the virtual TOBject::Copy()
116   // to allow run time copying without casting
117   // in AliESDEvent
118
119   if(this==&obj)return;
120   AliESDTZERO *robj = dynamic_cast<AliESDTZERO*>(&obj);
121   if(!robj)return; // not an AliESDTZERO
122   *robj = *this;
123
124 }
125
126
127 //______________________________________________________________________________
128 void AliESDTZERO::Reset()
129 {
130   // reset contents
131   fT0clock=0;
132   fT0zVertex = -9999;  
133   fT0timeStart = 0;
134   for(int i = 0;i<24;i++) {
135     fT0time[i] = fT0amplitude[i] =  0;
136     for(Int_t iHit=0; iHit<5; iHit++)  fTimeFull[i][iHit] = -9999;
137   }
138   for(Int_t iHit=0; iHit<5; iHit++) fOrA[iHit] = fOrC[iHit] = fTVDC[iHit] = -9999; 
139   for(Int_t iHit=0; iHit<6; iHit++) fPileupTime[iHit]= -9999;
140   for(int i = 0;i<3;i++) fT0TOF[i] = -9999;
141 }
142
143 //______________________________________________________________________________
144 void AliESDTZERO::Print(const Option_t *) const
145 {
146   // does noting fornow
147   AliInfo(Form(" Vertex %f (T0A+T0C)/2 %f #channels T0signal %f ns OrA %f ns OrC %f \n",fT0zVertex,  fT0timeStart, fT0TOF[0],fT0TOF[1],fT0TOF[2]));
148
149   Bool_t tr[5];
150   for (Int_t i=0; i<5; i++) tr[i] = fT0trig & (1<<i);
151   AliInfo(Form("T0 triggers %d %d %d %d %d",tr[0],tr[1],tr[2],tr[3],tr[4])); 
152
153 }