///
/// This class provides ITS SSD data handling
/// used by DA.
-///
+// Author: Oleksandr Borysov
+// Date: 20/04/2008
///////////////////////////////////////////////////////////////////////////////
class TObjArray;
void SetModIndRead (Int_t mr) {fModIndRead = mr;}
Bool_t SetNumberOfModules (const Int_t numberofmodules);
Bool_t SetModule(AliITSModuleDaSSD *const module, const Int_t index);
- Bool_t ReadCalibrationDataFile (char* fileName, const Long_t eventsnumber);
+ Int_t ReadCalibrationDataFile (char* fileName, const Long_t eventsnumber);
Int_t ReadModuleRawData (const Int_t modulesnumber);
virtual Bool_t CalculatePedestal(AliITSModuleDaSSD *const module);
- virtual Bool_t CalculateNoise(AliITSModuleDaSSD *const module, const Bool_t CorrectCM = kFALSE);
+ virtual Bool_t CalculateNoise(AliITSModuleDaSSD *const module);
virtual Bool_t CalculateNoiseCM(AliITSModuleDaSSD *const module);
virtual Bool_t CalculateCM(AliITSModuleDaSSD *const module);
+ virtual Bool_t AddFeromCm(AliITSModuleDaSSD *const module);
virtual Bool_t ProcessRawData(const Int_t nmread = fgkNumberOfSSDModulesPerDdl);
virtual Bool_t RelocateModules();
virtual Bool_t AllocateSimulatedModules(const Int_t copymodind = 0);
void DumpInitData(const Char_t *str = "") const;
void DeleteSignalAll() { if (fModules) for (Int_t i = 0; i < fNumberOfModules; i++) if (fModules[i]) fModules[i]->DeleteSignal();}
void DeleteSignal() { if (fModules) for (Int_t i = fModIndProcessed; i < fModIndRead; i++) if (fModules[i]) fModules[i]->DeleteSignal();}
+ void DeleteCMAll() { if (fModules) for (Int_t i = 0; i < fNumberOfModules; i++) if (fModules[i]) fModules[i]->DeleteCM();}
+ void DeleteCM() { if (fModules) for (Int_t i = fModIndProcessed; i < fModIndRead; i++) if (fModules[i]) fModules[i]->DeleteCM();}
+ void DeleteCMFerom() { if (fModules) for (Int_t i = fModIndProcessed; i < fModIndRead; i++) if (fModules[i]) fModules[i]->DeleteCMFerom ();}
static Int_t GetNumberOfSSDModulesConst() { return fgkNumberOfSSDModules; }
protected :
static const Int_t fgkNumberOfSSDModules ; // Number of SSD modules in ITS
- static const Int_t fgkNumberOfSSDModulesPerDdl; // Number of SSD modules in ITS
+ static const Int_t fgkNumberOfSSDModulesPerDdl; // Number of SSD modules in DDL
+ static const Int_t fgkNumberOfSSDModulesPerSlot; // Number of SSD modules in Slot
static const Float_t fgkPedestalThresholdFactor; // Defalt value for fPedestalThresholdFactor
static const Float_t fgkCmThresholdFactor; // Defalt value for fCmThresholdFactor
AliITSModuleDaSSD **fModules; //[fNumberOfModules] array of pointer on AliITSModuleDaSSD objects (1698 SSD Modules)
Int_t fModIndProcessed; //! index of the last module in fModules array with processed data
Int_t fModIndRead; //! index of the last module in fModules array with adc data present (read)
+ Int_t *fModIndex; //! index array for fModules
Long_t fNumberOfEvents; // Number of physics or calibration events in raw data file fRawDataFileName
UInt_t fLdcId; // LDC number, read from header
private :
Bool_t SignalOutOfRange (const Short_t signal) const { return (signal >= AliITSChannelDaSSD::GetOverflowConst()); }
- ClassDef(AliITSHandleDaSSD, 2)
+ ClassDef(AliITSHandleDaSSD, 4)
};
#endif
+