#ifndef ALIITSNOISESSD_H
#define ALIITSNOISESSD_H
-#include "TObjArray.h"
-#include "TArrayF.h"
-
//////////////////////////////////////////////
// Author: Enrico Fragiacomo
// Date: 23/08/2007
+// Modified: 08/07/2008
// //
//////////////////////////////////////////////
+#include "TObject.h"
+
class AliITSNoiseSSD : public TObject {
public:
AliITSNoiseSSD(const AliITSNoiseSSD &source); // copy constructor
AliITSNoiseSSD& operator=(const AliITSNoiseSSD &source); // ass. op.
- void SetNNoiseP(Int_t n) { fNoisP.Set(n); }
- void AddNoiseP(Int_t c, Float_t n) { fNoisP.AddAt(n,c);}
- TArrayF GetNoiseP() const {return fNoisP; }
- Float_t GetNoiseP(Int_t n) {return fNoisP.At(n); }
- void SetNNoiseN(Int_t n) { fNoisN.Set(n); }
- void AddNoiseN(Int_t c, Float_t n) { fNoisN.AddAt(n,c);}
- TArrayF GetNoiseN() const {return fNoisN; }
- Float_t GetNoiseN(Int_t n) {return fNoisN.At(n); }
-
- void SetMod(UShort_t mod) {fMod = mod;}
- UShort_t GetMod() { return fMod;}
-
-protected:
-
- UShort_t fMod; // module number (from 0 to 1535). Needed by the preprocessor to
- // extract the information from the Detector Algorithm
-
- TArrayF fNoisP; // Noise for P side channels
- TArrayF fNoisN; // Noise for N side channels
-
- private:
+ void AddNoiseP(Int_t module, Int_t strip, Float_t value) {
+ fNois[module*2*fgkDefaultNStripsSSD+strip] = value;
+ }
+ Float_t GetNoiseP(Int_t module, Int_t strip) {
+ return fNois[module*2*fgkDefaultNStripsSSD+strip];
+ }
+
+ void AddNoiseN(Int_t module, Int_t strip, Float_t value) {
+ fNois[module*2*fgkDefaultNStripsSSD+fgkDefaultNStripsSSD+strip] = value;
+ }
+ Float_t GetNoiseN(Int_t module, Int_t strip) {
+ return fNois[module*2*fgkDefaultNStripsSSD+fgkDefaultNStripsSSD+strip];
+ }
+
+ protected:
+ 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
+
+ Float_t fNois[2*fgkDefaultNModulesSSD*fgkDefaultNStripsSSD];
+ //Float_t *fNois;
+
+ private:
+
ClassDef(AliITSNoiseSSD,1) // Noise class for SSD
-};
+ };
#endif