--- /dev/null
+
+#include "AliITSChannelDaSSD.h"
+
+ClassImp(AliITSChannelDaSSD)
+
+using namespace std;
+
+const Float_t AliITSChannelDaSSD::fgkUndefinedValue = 32639.0f; // = 0x7F7F
+
+AliITSChannelDaSSD::AliITSChannelDaSSD() :
+ fStripId(0),
+ fEventsNumber(0),
+ fSignal(NULL),
+ fPedestal(fgkUndefinedValue),
+ fNoise(fgkUndefinedValue),
+ fZsThresholdFactor(0.0f)
+{
+}
+
+
+AliITSChannelDaSSD::AliITSChannelDaSSD(const UShort_t stripID) :
+ fStripId(stripID),
+ fEventsNumber(0),
+ fSignal(NULL),
+ fPedestal(fgkUndefinedValue),
+ fNoise(fgkUndefinedValue),
+ fZsThresholdFactor(0.0f)
+{
+}
+
+
+AliITSChannelDaSSD::AliITSChannelDaSSD(const UShort_t stripID, const Long_t eventsnumber) :
+ fStripId(stripID),
+ fEventsNumber(0),
+ fSignal(NULL),
+ fPedestal(fgkUndefinedValue),
+ fNoise(fgkUndefinedValue),
+ fZsThresholdFactor(0.0f)
+{
+ if (stripID > fgkMaxStripId)
+ Warning("AliITSChannelDaSSD", "Wrong StripID: %i", stripID);
+ try
+ {
+ fSignal = new Short_t [eventsnumber];
+ fEventsNumber = eventsnumber;
+ memset(fSignal, fgkDefaultSignal, (eventsnumber * sizeof(Short_t)));
+ }
+ catch (bad_alloc&)
+ {
+ cout << "Error allocating memory for " << (long) eventsnumber << " Short_t objects in AliITSChannelDaSSD constructor!" << endl;
+ fSignal = NULL;
+ fEventsNumber = 0;
+ }
+}
+
+
+
+AliITSChannelDaSSD::AliITSChannelDaSSD(const AliITSChannelDaSSD& strip) :
+ TObject(strip),
+ fStripId(strip.fStripId),
+ fEventsNumber(strip.fEventsNumber),
+ fSignal(strip.fSignal),
+ fPedestal(strip.fPedestal),
+ fNoise(strip.fNoise),
+ fZsThresholdFactor(strip.fZsThresholdFactor)
+{
+ // copy constructor
+
+ Fatal("AliITSChannelDaSSD", "copy constructor not implemented");
+}
+
+AliITSChannelDaSSD& AliITSChannelDaSSD::operator = (const AliITSChannelDaSSD& strip)
+{
+// assignment operator
+
+ Fatal("operator =", "assignment operator not implemented");
+ return *this;
+}
+
+
+AliITSChannelDaSSD::~AliITSChannelDaSSD()
+{
+ if (fSignal)
+ {
+ delete [] fSignal;
+ }
+}
+
+
+Bool_t AliITSChannelDaSSD::SetEvenetsNumber(const Long_t eventsnumber)
+{
+ try
+ {
+ fSignal = new Short_t[eventsnumber];
+ fEventsNumber = eventsnumber;
+ memset(fSignal, fgkDefaultSignal, (eventsnumber * sizeof(Short_t)));
+ return kTRUE;
+ }
+ catch (bad_alloc&)
+ {
+ cout << "Error allocating memory for " << (long) eventsnumber << " Short_t objects!" << endl;
+ fSignal = NULL;
+ fEventsNumber = 0;
+ return kFALSE;
+ }
+}
+
+
+
+Bool_t AliITSChannelDaSSD::SetSignal(const Long_t eventnumber, const Short_t signal)
+{
+ if (eventnumber < fEventsNumber && fSignal)
+ {
+ fSignal[eventnumber] = signal;
+ return kTRUE;
+ }
+ return kFALSE;
+}