372aa9165d787e29440f243f86d478cf52077e6f
[u/mrichter/AliRoot.git] / START / AliSTARTdigit.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 //  Class AliSTARTdigit for START digits
19 //  fTimeRight  - right side TOF signal
20 //  fTimeLeft  - left side TOF signal
21 //  fTimeBestRight - TOF first particle on the right side
22 //  TimeBestLeft - TOF first particle on the left side
23 //  fTimeAverage = (fTimeBestRight + TimeBestLeft ) /2. START signal
24 //  fTimeDiff = fTimeBestRight - TimeBestLeft  
25 //
26 ///////////////////////////////////////////////////////////////////////
27
28 #include "AliSTARTdigit.h"
29 #include "TArrayI.h"
30
31 ClassImp(AliSTARTdigit)
32
33 //-----------------------------------------------
34   AliSTARTdigit::AliSTARTdigit() :TObject()
35 {
36
37   fTimeAverage   = 99999;
38   fTimeDiff      = 99999;
39   fBestTimeRight = 99999;
40   fBestTimeLeft  = 99999;
41
42   fTime = new TArrayI(24);
43   fADC  = new TArrayI(24);
44   fTimeAmp = new TArrayI(24);
45   fADCAmp  = new TArrayI(24);
46   fSumMult=new TArrayI(6);
47 }
48
49 //-----------------------------------
50 AliSTARTdigit::~AliSTARTdigit() {
51   // destructor
52   delete fTime;
53   delete fADC;
54   delete fTimeAmp;
55   delete fADCAmp;
56   delete fSumMult;
57 }
58 //-----------------------------------
59 void AliSTARTdigit::SetTime (TArrayI &o)
60 {
61   ////////////////////////////////////////
62   fTime = new TArrayI(24);
63
64   Int_t i;
65   for (i=0; i<24; i++)
66     {
67       Int_t buf=o.At(i);
68       fTime->AddAt(buf,i);
69     }
70 }
71 //--------------------------------------------
72 void AliSTARTdigit::GetTime (TArrayI &o)
73 {
74   //
75   Int_t i;
76   for (i=0; i<24; i++)
77     {
78       o[i]=fTime->At(i);
79     }
80 }
81 //--------------------------------------------
82 void AliSTARTdigit::GetADC (TArrayI &o)
83 {
84   //
85   Int_t i;
86   for (i=0; i<24; i++)
87     {
88       o[i]=fADC->At(i);
89     }
90 }
91 //--------------------------------------------
92 void AliSTARTdigit::SetADC (TArrayI &o)
93 {
94   //
95   fADC  = new TArrayI(24);
96   Int_t i;
97   for (i=0; i<24; i++)
98     {
99       Int_t buf=(o.At(i));
100       fADC->AddAt(buf,i);
101     }
102 }
103 //-----------------------------------
104 void AliSTARTdigit::SetTimeAmp (TArrayI &o)
105 {
106   ////////////////////////////////////////
107   fTimeAmp = new TArrayI(24);
108
109   Int_t i;
110   for (i=0; i<24; i++)
111     {
112       Int_t buf=o.At(i);
113       fTimeAmp->AddAt(buf,i);
114     }
115 }
116 //--------------------------------------------
117 void AliSTARTdigit::GetTimeAmp (TArrayI &o)
118 {
119   //
120   Int_t i;
121   for (i=0; i<24; i++)
122     {
123       o[i]=fTimeAmp->At(i);
124     }
125 }
126 //--------------------------------------------
127 void AliSTARTdigit::GetADCAmp (TArrayI &o)
128 {
129   //
130   Int_t i;
131   for (i=0; i<24; i++)
132     {
133       o[i]=fADCAmp->At(i);
134     }
135 }
136 //--------------------------------------------
137 void AliSTARTdigit::SetADCAmp (TArrayI &o)
138 {
139   //
140   fADCAmp  = new TArrayI(24);
141   Int_t i;
142   for (i=0; i<24; i++)
143     {
144       Int_t buf=(o.At(i));
145       fADCAmp->AddAt(buf,i);
146     }
147 }
148 //--------------------------------------------
149 void AliSTARTdigit::GetSumMult (TArrayI &o)
150 {
151   //
152   Int_t i;
153   for (i=0; i<6; i++)
154     {
155       o[i]=fSumMult->At(i);
156     }
157 }
158 //--------------------------------------------
159 void AliSTARTdigit::SetSumMult (TArrayI &o)
160 {
161   //
162   fSumMult = new TArrayI(24);
163   Int_t i;
164   for (i=0; i<6; i++)
165     {
166       Int_t buf=(o.At(i));
167       fSumMult->AddAt(buf,i);
168     }
169 }