Remove unnecessary warning message in case the raw-data payload size in CDH is not...
[u/mrichter/AliRoot.git] / ITS / AliITSHandleDaSSD.h
CommitLineData
f67db810 1#ifndef ALIITSHANDLEDASSD_H
2#define ALIITSHANDLEDASSD_H
3
223dda26 4/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6/* */
7/* $Id$ */
f67db810 8
223dda26 9#include "TObject.h"
f67db810 10#include "AliITSModuleDaSSD.h"
11
223dda26 12///////////////////////////////////////////////////////////////////////////////
13///
14/// This class provides ITS SSD data handling
15/// used by DA.
16///
17///////////////////////////////////////////////////////////////////////////////
18
19class TObjArray;
f67db810 20
21class AliITSHandleDaSSD : public TObject {
22 public :
23 AliITSHandleDaSSD();
24 explicit AliITSHandleDaSSD(const Int_t numberofmodules);
25 AliITSHandleDaSSD(const AliITSHandleDaSSD& ssdadldc);
26 AliITSHandleDaSSD& operator = (const AliITSHandleDaSSD& ssdadldc);
27 virtual ~AliITSHandleDaSSD();
28
29 Int_t GetNumberOfModules() const { return fNumberOfModules; }
30
31 AliITSModuleDaSSD* GetModule (const UChar_t ddlID, const UChar_t ad, const UChar_t adc) const;
32 AliITSModuleDaSSD* GetModule (const Int_t index) const
33 {if ((fModules) && (index < fNumberOfModules)) return fModules[index]; else return NULL;}
34 AliITSChannelDaSSD* GetStrip (const UChar_t ddlID, const UChar_t ad, const UChar_t adc, const UShort_t stripID) const;
35 TObjArray* GetCalibrationSSDLDC() const;
36 Bool_t SaveCalibrationSSDLDC(std::string& dafname) const;
37
38 Bool_t SetNumberOfModules (const Int_t numberofmodules);
39 Bool_t SetModule(AliITSModuleDaSSD *const module, const Int_t index);
40 Bool_t ReadCalibrationDataFile (const char* fileName, const Long_t eventsnumber);
41
42 virtual Bool_t CalculatePedestal();
43 virtual Bool_t CalculateNoise();
44 virtual Bool_t CalculateNoiseCM();
45
46 void DeleteSignal() { if (fModules) for (Int_t i = 0; i < fNumberOfModules; i++) if (fModules[i]) fModules[i]->DeleteSignal();}
47
48 static Int_t GetNumberOfSSDModulesConst() { return fgkNumberOfSSDModules; }
49
50 protected :
223dda26 51 static const Int_t fgkNumberOfSSDModules = 1698; // Number of SSD modules in ITS
f67db810 52
53 Int_t fNumberOfModules; // number of AliITSModuleDaSSD to allocate
54 AliITSModuleDaSSD **fModules; //[fNumberOfModules] array of all SSD 1698 Modules (2608128 strips)
55 UInt_t fLdcId; // LDC number, read from header
56 UInt_t fRunId; // Run number, read from header
57
58 private :
59 Bool_t CalculateCM(const Int_t modind, const Int_t stripind, Float_t* const cm);
60 Bool_t RelocateModules();
61 Bool_t SignalOutOfRange (const Short_t signal) const { return (signal >= AliITSChannelDaSSD::GetOverflowConst()); }
62
63 ClassDef(AliITSHandleDaSSD, 1)
64
65};
66
67#endif