#ifndef ALIITSBADCHANNELSSSD_H
#define ALIITSBADCHANNELSSSD_H
-#include "TObjArray.h"
-#include "TArrayI.h"
-
//////////////////////////////////////////////
-// Response class for SSD //
+// Author: Enrico Fragiacomo
+// Date: 23/08/2007
+// Modified: 08/07/2008
// //
//////////////////////////////////////////////
+#include "TObject.h"
+
class AliITSBadChannelsSSD : public TObject {
public:
+
AliITSBadChannelsSSD();
virtual ~AliITSBadChannelsSSD();
+ AliITSBadChannelsSSD(const AliITSBadChannelsSSD &source); // copy constructor
+ AliITSBadChannelsSSD& operator=(const AliITSBadChannelsSSD &source); // ass. op.
- void SetNBadPChannelsList(Int_t n) { fBadPChannelsList.Set(n); }
- void AddBadPChannel(Int_t c, Int_t n) { fBadPChannelsList.AddAt(n,c);}
- TArrayI GetBadPChannelsList() const {return fBadPChannelsList; }
- Int_t GetBadPChannel(Int_t n) {return fBadPChannelsList.At(n); }
- void SetNBadNChannelsList(Int_t n) { fBadNChannelsList.Set(n); }
- void AddBadNChannel(Int_t c, Int_t n) { fBadNChannelsList.AddAt(n,c);}
- TArrayI GetBadNChannelsList() const {return fBadNChannelsList; }
- Int_t GetBadNChannel(Int_t n) {return fBadNChannelsList.At(n); }
- //
+ void AddBadChannelP(Int_t module, Int_t strip, Char_t value) {
+ fBadChannels[module*2*fgkDefaultNStripsSSD+strip] = value;
+ }
+ Char_t GetBadChannelP(Int_t module, Int_t strip) {
+ return fBadChannels[module*2*fgkDefaultNStripsSSD+strip];
+ }
- void SetMod(UShort_t mod) {fMod = mod;}
- UShort_t GetMod() { return fMod;}
+ void AddBadChannelN(Int_t module, Int_t strip, Char_t value) {
+ fBadChannels[module*2*fgkDefaultNStripsSSD+fgkDefaultNStripsSSD+strip] = value;
+ }
+ Char_t GetBadChannelN(Int_t module, Int_t strip) {
+ return fBadChannels[module*2*fgkDefaultNStripsSSD+fgkDefaultNStripsSSD+strip];
+ }
protected:
- UShort_t fMod; // module number (from 0 to 1535). Needed by the preprocessor to
- // extract the information from the Detector Algorithm
-
- TArrayI fBadNChannelsList; // list of P side dead channels
- TArrayI fBadPChannelsList; // list of N side dead channels
-
+ static const Int_t fgkDefaultNModulesSSD = 1698;
+ static const Int_t fgkDefaultNStripsSSD = 768;
+ //static const Int_t fgkDefaultNModulesSSD; // Total numbers of SSD modules
+ // static const Int_t fgkDefaultNStripsSSD; // Total numbers of SSD modules
+ Char_t fBadChannels[2*fgkDefaultNModulesSSD*fgkDefaultNStripsSSD];
+ // Char_t *fBadChannels;
+
private:
- AliITSBadChannelsSSD(const AliITSBadChannelsSSD &source); // copy constructor
- AliITSBadChannelsSSD& operator=(const AliITSBadChannelsSSD &source); // ass. op.
+
+ ClassDef(AliITSBadChannelsSSD,1) // BadChannels class for SSD
+ };
- ClassDef(AliITSBadChannelsSSD,1) //Response class for SSD
-};
#endif