1 /**************************************************************************
2 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////
20 // Implementation of the class for SDD drift speed //
21 // Origin: F.Prino, Torino, prino@to.infn.it //
23 ///////////////////////////////////////////////////////////////////
25 #include "AliITSDriftSpeedSDD.h"
28 const Float_t AliITSDriftSpeedSDD::fgkDriftSpeedDefault = 7.3;
30 ClassImp(AliITSDriftSpeedSDD)
31 //______________________________________________________________________
32 AliITSDriftSpeedSDD::AliITSDriftSpeedSDD():
37 // default constructor
38 fDriftSpeedParam[0]=fgkDriftSpeedDefault;
39 for(Int_t i=1; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=0;
41 //______________________________________________________________________
42 AliITSDriftSpeedSDD::AliITSDriftSpeedSDD(Int_t ev, UInt_t timest, Int_t deg, Double_t *coeff):
47 // standard constructor
50 AliWarning(Form("Polynomial degree must be <%d. Drift speed parametrization limited to %dth degree poly.\n",fgkMaxPolDeg,fgkMaxPolDeg));
52 for(Int_t i=0; i<fPolDeg+1; i++) fDriftSpeedParam[i]=coeff[i];
53 for(Int_t i=fPolDeg+1; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=0;
55 //______________________________________________________________________
56 AliITSDriftSpeedSDD::AliITSDriftSpeedSDD(const AliITSDriftSpeedSDD& drSpeed):
58 fEvNum(drSpeed.fEvNum),
59 fTimestamp(drSpeed.fTimestamp),
60 fPolDeg(drSpeed.fPolDeg)
63 for(Int_t i=0; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=drSpeed.GetDriftSpeedParameter(i);
66 //_____________________________________________________________________________
67 AliITSDriftSpeedSDD& AliITSDriftSpeedSDD::operator=(const AliITSDriftSpeedSDD &drSpeed){
68 // Assignment operator
69 if(this==&drSpeed) return *this;
70 ((TObject *)this)->operator=(drSpeed);
71 fEvNum = drSpeed.fEvNum;
72 fTimestamp = drSpeed.fTimestamp;
73 fPolDeg = drSpeed.fPolDeg;
74 for(Int_t i=0; i<fgkMaxPolDeg+1; i++) fDriftSpeedParam[i]=drSpeed.GetDriftSpeedParameter(i);
78 //______________________________________________________________________
79 void AliITSDriftSpeedSDD::PrintDriftSpeedParameters() const {
80 // printout drift speed parametrization
81 printf("Injector event #%d at time %d\n",fEvNum,fTimestamp);
82 printf("Coefficients of %d degree poly fit:\n",fPolDeg);
83 for(Int_t i=0; i<fgkMaxPolDeg+1; i++) printf("par[%d]=%G\n",i,fDriftSpeedParam[i]);