Added two missing includes to allow macro compilation (thanks to Laurent for remarkin...
[u/mrichter/AliRoot.git] / ITS / AliITSTableSSD.h
1 #ifndef ALIITSTABLESSD_H
2 #define ALIITSTABLESSD_H
3 /* Copyright(c) 2002-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 ///////////////////////////////////////////////////////////
7 // AliITSTableSSD is used by AliITSsimulationSSD class to// 
8 //fill the AliITSpList  object starting from the map with// 
9 //energy depositions                                     //
10 ///////////////////////////////////////////////////////////
11
12 #include "Rtypes.h"
13 #include <TObject.h>
14
15 class AliITSTableSSD : public TObject{
16  public:
17     AliITSTableSSD(); // Default constructor
18     AliITSTableSSD(const AliITSTableSSD & source); //Copy constructor
19     AliITSTableSSD(Int_t noelem); // Standard Constructor
20     virtual ~AliITSTableSSD(); //destructor
21     AliITSTableSSD& operator=(const AliITSTableSSD &source);// = operator
22     void Add(Int_t side, Int_t strip); // add an element to the table
23     void Clear(); // Clears the contents of the table
24     void DumpTable(); // it dumps the contents of the table
25     Int_t Use(Int_t side); // use current element - returns -1 if none
26     
27     virtual void Clear(Option_t*)  {TObject::Clear();}
28
29  private:
30     Int_t SearchValue(Int_t *arr, Int_t refer, Int_t max) const{
31         for(Int_t i=0;i<max;i++)if(arr[i]==refer)return i;
32         return -1;}
33  private:
34     Int_t fDim;        //! dimension of the table 
35     Int_t * fArray;     //! table
36     Int_t fCurrUse[2];    //! current element in use (0: P side; 1: N side)
37     Int_t fCurrFil[2];    //! element to be filled (0: P side; 1: N side)
38     ClassDef(AliITSTableSSD,0) // SSD table
39 };
40 #endif