ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////
//                                                               //
// Implementation of the class for SDD drift speed               //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

#include "AliITSDriftSpeedSDD.h"
#include "AliLog.h"

const Float_t AliITSDriftSpeedSDD::fgkDriftSpeedDefault = 7.3;

ClassImp(AliITSDriftSpeedSDD)
//______________________________________________________________________
AliITSDriftSpeedSDD::AliITSDriftSpeedSDD():
TObject(),
fEvNum(0),
fTimestamp(0),
fPolDeg(0){
  // default constructor
  fDriftSpeedParam[0]=fgkDriftSpeedDefault;
  for(Int_t i=1; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=0;
}
//______________________________________________________________________
AliITSDriftSpeedSDD::AliITSDriftSpeedSDD(Int_t ev, UInt_t timest, Int_t deg, Double_t *coeff):
TObject(),
fEvNum(ev),
fTimestamp(timest),
fPolDeg(deg){
  // standard constructor
  if(deg>fgkMaxPolDeg){
    fPolDeg=fgkMaxPolDeg;
    AliWarning(Form("Polynomial degree must be <%d. Drift speed parametrization limited to %dth degree poly.\n",fgkMaxPolDeg,fgkMaxPolDeg));
  }
  for(Int_t i=0; i<fPolDeg+1; i++) fDriftSpeedParam[i]=coeff[i];
  for(Int_t i=fPolDeg+1; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=0;
}
//______________________________________________________________________
AliITSDriftSpeedSDD::AliITSDriftSpeedSDD(const AliITSDriftSpeedSDD& drSpeed):
TObject(),
fEvNum(drSpeed.fEvNum),
fTimestamp(drSpeed.fTimestamp),
fPolDeg(drSpeed.fPolDeg)
{
  // copy constructor
  for(Int_t i=0; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=drSpeed.GetDriftSpeedParameter(i);
  
}
//_____________________________________________________________________________
AliITSDriftSpeedSDD& AliITSDriftSpeedSDD::operator=(const AliITSDriftSpeedSDD &drSpeed){
  // Assignment operator
 if(this==&drSpeed) return *this;
  ((TObject *)this)->operator=(drSpeed);
  fEvNum = drSpeed.fEvNum;
  fTimestamp = drSpeed.fTimestamp;
  fPolDeg = drSpeed.fPolDeg;
  for(Int_t i=0; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=drSpeed.GetDriftSpeedParameter(i);
  return *this;
}

//______________________________________________________________________
void AliITSDriftSpeedSDD::PrintDriftSpeedParameters() const {
  // printout drift speed parametrization
  printf("Injector event #%d at time %d\n",fEvNum,fTimestamp);
  printf("Coefficients of %d degree poly fit:\n",fPolDeg);
  for(Int_t i=0; i<fgkMaxPolDeg+1; i++) printf("par[%d]=%G\n",i,fDriftSpeedParam[i]);
}
 AliITSDriftSpeedSDD.cxx:1
 AliITSDriftSpeedSDD.cxx:2
 AliITSDriftSpeedSDD.cxx:3
 AliITSDriftSpeedSDD.cxx:4
 AliITSDriftSpeedSDD.cxx:5
 AliITSDriftSpeedSDD.cxx:6
 AliITSDriftSpeedSDD.cxx:7
 AliITSDriftSpeedSDD.cxx:8
 AliITSDriftSpeedSDD.cxx:9
 AliITSDriftSpeedSDD.cxx:10
 AliITSDriftSpeedSDD.cxx:11
 AliITSDriftSpeedSDD.cxx:12
 AliITSDriftSpeedSDD.cxx:13
 AliITSDriftSpeedSDD.cxx:14
 AliITSDriftSpeedSDD.cxx:15
 AliITSDriftSpeedSDD.cxx:16
 AliITSDriftSpeedSDD.cxx:17
 AliITSDriftSpeedSDD.cxx:18
 AliITSDriftSpeedSDD.cxx:19
 AliITSDriftSpeedSDD.cxx:20
 AliITSDriftSpeedSDD.cxx:21
 AliITSDriftSpeedSDD.cxx:22
 AliITSDriftSpeedSDD.cxx:23
 AliITSDriftSpeedSDD.cxx:24
 AliITSDriftSpeedSDD.cxx:25
 AliITSDriftSpeedSDD.cxx:26
 AliITSDriftSpeedSDD.cxx:27
 AliITSDriftSpeedSDD.cxx:28
 AliITSDriftSpeedSDD.cxx:29
 AliITSDriftSpeedSDD.cxx:30
 AliITSDriftSpeedSDD.cxx:31
 AliITSDriftSpeedSDD.cxx:32
 AliITSDriftSpeedSDD.cxx:33
 AliITSDriftSpeedSDD.cxx:34
 AliITSDriftSpeedSDD.cxx:35
 AliITSDriftSpeedSDD.cxx:36
 AliITSDriftSpeedSDD.cxx:37
 AliITSDriftSpeedSDD.cxx:38
 AliITSDriftSpeedSDD.cxx:39
 AliITSDriftSpeedSDD.cxx:40
 AliITSDriftSpeedSDD.cxx:41
 AliITSDriftSpeedSDD.cxx:42
 AliITSDriftSpeedSDD.cxx:43
 AliITSDriftSpeedSDD.cxx:44
 AliITSDriftSpeedSDD.cxx:45
 AliITSDriftSpeedSDD.cxx:46
 AliITSDriftSpeedSDD.cxx:47
 AliITSDriftSpeedSDD.cxx:48
 AliITSDriftSpeedSDD.cxx:49
 AliITSDriftSpeedSDD.cxx:50
 AliITSDriftSpeedSDD.cxx:51
 AliITSDriftSpeedSDD.cxx:52
 AliITSDriftSpeedSDD.cxx:53
 AliITSDriftSpeedSDD.cxx:54
 AliITSDriftSpeedSDD.cxx:55
 AliITSDriftSpeedSDD.cxx:56
 AliITSDriftSpeedSDD.cxx:57
 AliITSDriftSpeedSDD.cxx:58
 AliITSDriftSpeedSDD.cxx:59
 AliITSDriftSpeedSDD.cxx:60
 AliITSDriftSpeedSDD.cxx:61
 AliITSDriftSpeedSDD.cxx:62
 AliITSDriftSpeedSDD.cxx:63
 AliITSDriftSpeedSDD.cxx:64
 AliITSDriftSpeedSDD.cxx:65
 AliITSDriftSpeedSDD.cxx:66
 AliITSDriftSpeedSDD.cxx:67
 AliITSDriftSpeedSDD.cxx:68
 AliITSDriftSpeedSDD.cxx:69
 AliITSDriftSpeedSDD.cxx:70
 AliITSDriftSpeedSDD.cxx:71
 AliITSDriftSpeedSDD.cxx:72
 AliITSDriftSpeedSDD.cxx:73
 AliITSDriftSpeedSDD.cxx:74
 AliITSDriftSpeedSDD.cxx:75
 AliITSDriftSpeedSDD.cxx:76
 AliITSDriftSpeedSDD.cxx:77
 AliITSDriftSpeedSDD.cxx:78
 AliITSDriftSpeedSDD.cxx:79
 AliITSDriftSpeedSDD.cxx:80
 AliITSDriftSpeedSDD.cxx:81
 AliITSDriftSpeedSDD.cxx:82
 AliITSDriftSpeedSDD.cxx:83
 AliITSDriftSpeedSDD.cxx:84