#ifndef ALIITSDIGITSDD_H
#define ALIITSDIGITSDD_H
#include <AliITSdigit.h>
class AliITSCalibrationSDD;
class AliITSdigitSDD: public AliITSdigit {
public:
AliITSdigitSDD();
AliITSdigitSDD(Float_t phys,const Int_t *digits);
AliITSdigitSDD( Float_t phys,const Int_t *digits,const Int_t *tracks,
const Int_t *hits,const Float_t *charges);
AliITSdigitSDD( Float_t phys,const Int_t *digits,const Int_t *tracks,
const Int_t *hits,const Float_t *charges, Int_t sige);
virtual ~AliITSdigitSDD(){}
virtual Int_t GetSignal() const {return fSignalExpanded;}
virtual Int_t GetCompressedSignal() const {return fSignal;}
virtual Float_t GetCharge(Int_t i) const {return fTcharges[i];}
virtual Int_t GetListOfTracks(TArrayI &t,TArrayF &c);
void SetSignalExpanded(Int_t sig){fSignalExpanded = sig;}
virtual void Print(ostream *os);
virtual void Read(istream *os);
virtual void Print(Option_t *option="") const {TObject::Print(option);}
virtual Int_t Read(const char *name) {return TObject::Read(name);}
protected:
void InitObject(Float_t phys,const Int_t *tracks,
const Int_t *hits,const Float_t *charges);
Float_t fTcharges[fgkSize];
Float_t fPhysics;
Int_t fSignalExpanded;
ClassDef(AliITSdigitSDD,4)
};
ostream &operator<<(ostream &os,AliITSdigitSDD &source);
istream &operator>>(istream &os,AliITSdigitSDD &source);
#endif