AliITSDriftSpeedSDD();
AliITSDriftSpeedSDD(Int_t ev, UInt_t timest, Int_t deg, Double_t *coeff);
AliITSDriftSpeedSDD(const AliITSDriftSpeedSDD& drSpeed);
+ AliITSDriftSpeedSDD& operator=(const AliITSDriftSpeedSDD& drSpeed);
virtual ~AliITSDriftSpeedSDD(){};
+ static Float_t DefaultDriftSpeed() {return fgkDriftSpeedDefault;}
virtual Bool_t IsEqual(const TObject *obj) const
{return fEvNum == ((AliITSDriftSpeedSDD*)obj)->fEvNum;}
virtual Bool_t IsSortable() const { return kTRUE; }
else return 0; }
void PrintDriftSpeedParameters() const;
-
+ void SetDegreeofPoly(Int_t deg) {fPolDeg = deg>fgkMaxPolDeg ? fgkMaxPolDeg : deg;}
+ Int_t GetDegreeofPoly() const {return fPolDeg;}
Int_t GetEventNumber() const {return fEvNum;}
UInt_t GetEventTimestamp() const {return fTimestamp;}
Float_t GetDriftSpeedParameter(Int_t i) const {return fDriftSpeedParam[i];}
+ void SetDriftSpeedParameter(Int_t i,Float_t par) {if (i<=fPolDeg) fDriftSpeedParam[i] = par;}
Double_t GetDriftSpeedAtAnode(Double_t nAnode) const{
Double_t drSpeed=fDriftSpeedParam[fgkMaxPolDeg];
for(Int_t i=fgkMaxPolDeg-1; i>=0; --i) drSpeed=fDriftSpeedParam[i]+nAnode*drSpeed;
return drSpeed;
}
+ static UShort_t GetMaxPolDeg() {return fgkMaxPolDeg;}
protected:
+ static const Float_t fgkDriftSpeedDefault; // default for drift speed
static const UShort_t fgkMaxPolDeg=5; // max. degree of the poly fit
+
Int_t fEvNum; // event number of injector event
UInt_t fTimestamp; // event timestamp
Char_t fPolDeg; // degree of the ploy fit to drift speed vs. anode
// saved as char since 1 byte is enough
Float_t fDriftSpeedParam[fgkMaxPolDeg+1]; // coefficients of the poly fit
- ClassDef(AliITSDriftSpeedSDD,3);
+ ClassDef(AliITSDriftSpeedSDD,4);
};
#endif