]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSDriftSpeedSDD.h
Fixing FORWARD_NULL defects reported by Coverity
[u/mrichter/AliRoot.git] / ITS / AliITSDriftSpeedSDD.h
index ab15154f9167e336b0ee1d3ec8e6e43c2ea5a831..96d1cfc78b67ea436a05ed3f1d0a2dfb014deffb 100644 (file)
 class AliITSDriftSpeedSDD : public TObject {
  public:
   AliITSDriftSpeedSDD();
-  AliITSDriftSpeedSDD(Int_t ev, UInt_t timest, Int_t deg, Float_t *coeff);
+  AliITSDriftSpeedSDD(Int_t ev, UInt_t timest, Int_t deg, Double_t *coeff);
   AliITSDriftSpeedSDD(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; }
@@ -34,21 +35,25 @@ class AliITSDriftSpeedSDD : public TObject {
 
   void PrintDriftSpeedParameters() const;
 
+  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];}
-  Float_t GetDriftSpeedAtAnode(Float_t nAnode) const{
-    Float_t drSpeed=0;
-    for(Int_t i=0; i<fgkMaxPolDeg+1; i++) drSpeed+=fDriftSpeedParam[i]*TMath::Power(nAnode,i);
+  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;
   }
 
  protected:
-  static const Int_t fgkMaxPolDeg=5; // max. degree of the poly fit
+  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
-  Int_t fPolDeg;    // degree of the ploy fit to drift speed vs. anode
+  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,1);
+  ClassDef(AliITSDriftSpeedSDD,4);
 };
 #endif