]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSresponseSDD.cxx
Un-hide method AliExternalTrackParam::GetC with "using" (A. Dainese)
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSDD.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16 /* $Id$ */
17
18 //////////////////////////////////////////////////////
19 //  Base response class forITS                      //
20 //  It is used to set static data members           //
21 //  connected to parameters equal for all           //
22 //  the modules                                     //
23 //                                                  //
24 //                                                  //
25 //////////////////////////////////////////////////////
26
27 #include <TMath.h>
28
29 #include "AliITSresponseSDD.h"
30 #include <AliITSgeomTGeo.h>
31
32 const Float_t AliITSresponseSDD::fgkTimeOffsetDefault = 54.30;
33 const Float_t AliITSresponseSDD::fgkADC2keVDefault = 3.25;
34 const Float_t AliITSresponseSDD::fgkCarlosRXClockPeriod = 25.;
35 ClassImp(AliITSresponseSDD)
36
37 //_________________________________________________________________________
38 AliITSresponseSDD::AliITSresponseSDD():
39 TObject(),
40 fTimeOffset(fgkTimeOffsetDefault),
41 fADC2keV(fgkADC2keVDefault){
42   // default constructor
43   for(Int_t i=0; i<kNSDDmods;i++){
44     fTimeZero[i]=fgkTimeOffsetDefault;
45   }  
46 }
47 //_________________________________________________________________________
48 void AliITSresponseSDD::SetHalfLadderATimeZero(Int_t lay, Int_t lad, Float_t tzero){
49   // Sets time Zero for all modules of a ladder on side A (Z>0)
50   Int_t minMod,maxMod;
51   if(lay==3){
52     minMod=1; 
53     maxMod=3;
54     if(lad>kNLaddersLay3){
55       AliError(Form("Ladder number %d out of range",lad));
56       return;
57     }
58   }else if(lay==4){
59     minMod=1; 
60     maxMod=4;
61     if(lad>kNLaddersLay4){
62       AliError(Form("Ladder number %d out of range",lad));
63       return;
64     }
65   }else{
66     AliError(Form("Layer number %d out of range",lay));
67     return;
68   }
69   for(Int_t iMod=minMod; iMod<=maxMod; iMod++){
70     Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod);
71     SetModuleTimeZero(modIndex,tzero);
72   }
73 }
74 //_________________________________________________________________________
75 void AliITSresponseSDD::SetHalfLadderCTimeZero(Int_t lay, Int_t lad, Float_t tzero){
76   // Sets time Zero for all modules of a ladder on side C (Z<0)
77   Int_t minMod,maxMod;
78   if(lay==3){
79     minMod=4; 
80     maxMod=6;
81     if(lad>kNLaddersLay3){
82       AliError(Form("Ladder number %d out of range",lad));
83       return;
84     }
85   }else if(lay==4){
86     minMod=5; 
87     maxMod=8;
88     if(lad>kNLaddersLay4){
89       AliError(Form("Ladder number %d out of range",lad));
90       return;
91     }
92   }else{
93     AliError(Form("Layer number %d out of range",lay));
94     return;
95   }
96   for(Int_t iMod=minMod; iMod<=maxMod; iMod++){
97     Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod);
98     SetModuleTimeZero(modIndex,tzero);
99   }
100 }