3ac2c33a44ee8b5d20c3d6c3be1b3bb7e5b7a00c
[u/mrichter/AliRoot.git] / TOF / AliTOFHitDataBuffer.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 $Log$
18 Revision 1.1  2007/04/27 11:03:09  arcelli
19 container for TOF raw data
20
21  authors: Roberto Preghenella, preghenella@bo.infn.it
22           with contribution from Chiara Zampolli, zampolli@bo.infn.it 
23 */
24
25
26 ////////////////////////////////////////////////////////////////////////
27 //                                                                    //
28 //     This class provides access to TOF raw data in DDL files.       //
29 //                                                                    //
30 //      It loops over all TOF raw data given by the AliRawReader.     //
31 //                                                                    //
32 ////////////////////////////////////////////////////////////////////////
33
34 #include "AliLog.h"
35
36 //#include "AliTOFHitData.h"
37 #include "AliTOFHitDataBuffer.h"
38
39 ClassImp(AliTOFHitDataBuffer)
40
41 AliTOFHitDataBuffer::AliTOFHitDataBuffer(Int_t BufferSize) :
42   TObject(),
43   fBufferSize(BufferSize),
44   fBuffer(0x0),
45   fEntries(0)
46 {
47   fBuffer = new AliTOFHitData[BufferSize];
48 }
49 //-----------------------------------------------------------------------------
50 AliTOFHitDataBuffer::AliTOFHitDataBuffer(const AliTOFHitDataBuffer &source):
51   TObject(),
52   fBufferSize(0),
53   fBuffer(0x0),
54   fEntries(source.fEntries)
55 {
56   // copy ctr
57   this->fBufferSize = source.fBufferSize;
58   this->fBuffer = new AliTOFHitData[this->fBufferSize];
59   this->fEntries = source.fEntries;
60   for (Int_t i = 0; i < this->fEntries; i++)
61     this->fBuffer[i] = source.fBuffer[i];
62 }
63
64 //-----------------------------------------------------------------------------
65 AliTOFHitDataBuffer& AliTOFHitDataBuffer::operator=(const AliTOFHitDataBuffer & source) 
66
67   // ass operator
68   this->fEntries = source.fEntries < this->fBufferSize ? source.fEntries : this->fBufferSize;
69   for (Int_t i = 0; i < this->fEntries; i++)
70     this->fBuffer[i] = source.fBuffer[i];
71   return *this;
72 }
73
74 //-----------------------------------------------------------------------------
75 AliTOFHitDataBuffer::~AliTOFHitDataBuffer()
76 {
77   delete [] fBuffer;
78 }
79
80 //-----------------------------------------------------------------------------
81 Bool_t AliTOFHitDataBuffer::Add(AliTOFHitData &HitData) {
82   // adding a new entry 
83   if (fEntries >= fBufferSize){
84     AliError("The buffer is completely full. ");
85     return kTRUE;
86   }
87   fBuffer[fEntries++] = HitData;
88   return kFALSE;
89 }
90
91