1 #ifndef ALIITSBADCHANNELSSPD_H
2 #define ALIITSBADCHANNELSSPD_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ///////////////////////////////////////////////////////////////////////////
10 // AliITSBadChannelsSPD declaration by P. Nilsson 2005
11 // AUTHOR/CONTACT: Paul.Nilsson@cern.ch
13 // The class is used by the AliITSPreprocessorSPD class to store the
14 // final noisy and dead channel objects in the calibration database for
17 // (See the source file for more information)
18 ///////////////////////////////////////////////////////////////////////////
21 #include "TObjArray.h"
22 #include "AliITSChannelSPD.h"
24 class AliITSBadChannelsSPD: public TObject {
28 AliITSBadChannelsSPD(void); // Default constructor
29 AliITSBadChannelsSPD(const AliITSBadChannelsSPD &bc); // Default copy constructor
30 virtual ~AliITSBadChannelsSPD(void); // Default destructor
31 AliITSBadChannelsSPD& operator=(const AliITSBadChannelsSPD& bc); // Assignment operator
33 void Put(Int_t* &array, const Int_t &arraySize, // Add new arrays to the collection
34 Int_t* &index, const Int_t &indexSize);
35 Bool_t Get(Int_t* &array, Int_t* &index) const; // Retrieve the stored arrays (true if non empty arrays)
37 Int_t GetIndexArraySize(void) const // Return the size of the index array
38 { return fIndexArraySize; };
39 Int_t GetBadChannelsArraySize(void) const // Return the size of the bad channels array
40 { return fBadChannelsArraySize; };
42 Int_t* CreateModuleArray(Int_t module) const; // Create an array with sequential data for a given module
43 Int_t GetModuleArraySize(Int_t module) const // Return array size for a given module
44 { return (2*fBadChannelsArray[fIndexArray[module]] + 1); };
46 TObjArray* CreateModuleObjArray(Int_t module) const; // Create a TObjArray with data for a given module
47 Int_t GetModuleObjArraySize(Int_t module) const // Return TObjArray size for a given module
48 { return (fBadChannelsArray[fIndexArray[module]]); };
52 Int_t fIndexArraySize; // Size of the index array
53 Int_t fBadChannelsArraySize; // Size of the bad channels array
54 Int_t *fIndexArray; //[fIndexArraySize]
55 Int_t *fBadChannelsArray; //[fBadChannelsArraySize]
57 ClassDef(AliITSBadChannelsSPD,1)