Problems with the HP compiler fixed.
[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 #include <TMath.h>
17
18 #include "AliITSgeom.h"
19 #include "AliITSresponseSDD.h"
20 #include "AliITS.h"
21 #include "AliRun.h"
22
23 class AliITS;
24
25 //___________________________________________
26 ClassImp(AliITSresponseSDD)     
27
28 AliITSresponseSDD::AliITSresponseSDD()
29 {
30   // constructor
31    SetMaxAdc();
32    SetDiffCoeff();
33    SetQref();
34    SetDriftSpeed();
35    // SetClock();
36    SetNoiseParam();
37    SetMagicValue();
38    SetMinVal();
39    SetParamOptions();
40    SetZeroSupp();
41    SetDataType();
42    SetFilenames();
43    SetOutputOption();
44
45 }
46
47 //__________________________________________________________________________
48 AliITSresponseSDD::AliITSresponseSDD(const AliITSresponseSDD &source){
49   //     Copy Constructor 
50   if(&source == this) return;
51   this->fCPar = source.fCPar;
52   this->fNoise = source.fNoise;
53   this->fBaseline = source.fBaseline;
54   this->fTopValue = source.fTopValue;
55   this->fTemperature = source.fTemperature;
56   this->fDriftSpeed = source.fDriftSpeed;
57   this->fMaxAdc = source.fMaxAdc;
58   this->fDiffCoeff = source.fDiffCoeff;
59   this->fQref = source.fQref;
60   this->fZeroSuppFlag = source.fZeroSuppFlag;
61   this->fMinVal = source.fMinVal;
62   this->fWrite = source.fWrite;
63   this->fOption = source.fOption;
64   this->fParam1 = source.fParam1;
65   return;
66 }
67
68 //_________________________________________________________________________
69 AliITSresponseSDD& 
70   AliITSresponseSDD::operator=(const AliITSresponseSDD &source) {
71   //    Assignment operator
72   if(&source == this) return *this;
73   this->fCPar = source.fCPar;
74   this->fNoise = source.fNoise;
75   this->fBaseline = source.fBaseline;
76   this->fTopValue = source.fTopValue;
77   this->fTemperature = source.fTemperature;
78   this->fDriftSpeed = source.fDriftSpeed;
79   this->fMaxAdc = source.fMaxAdc;
80   this->fDiffCoeff = source.fDiffCoeff;
81   this->fQref = source.fQref;
82   this->fZeroSuppFlag = source.fZeroSuppFlag;
83   this->fMinVal = source.fMinVal;
84   this->fWrite = source.fWrite;
85   this->fOption = source.fOption;
86   this->fParam1 = source.fParam1;
87   return *this;
88 }
89
90 void AliITSresponseSDD::SetCompressParam(Int_t  cp[8])
91 {
92   // set compression param
93     Int_t i;
94     for(i=0; i<8; i++) {
95         fCPar[i]=cp[i];
96         //printf("\n CompressPar %d %d \n",i,fCPar[i]);
97         
98     }
99 }
100 void AliITSresponseSDD::GiveCompressParam(Int_t  cp[8])
101 {
102   // give compression param
103     Int_t i;
104     for(i=0; i<8; i++) {
105         cp[i]=fCPar[i];
106     }
107 }
108 //______________________________________________________________________________
109 void AliITSresponseSDD::Streamer(TBuffer &R__b)
110 {
111    // Stream an object of class AliITSresponseSDD.
112
113    if (R__b.IsReading()) {
114       Version_t R__v = R__b.ReadVersion(); if (R__v) { }
115       AliITSresponse::Streamer(R__b);
116       R__b.ReadStaticArray(fCPar);
117       R__b >> fNoise;
118       R__b >> fBaseline;
119       R__b >> fTopValue;
120       R__b >> fTemperature;
121       R__b >> fDriftSpeed;
122       R__b >> fMaxAdc;
123       R__b >> fDiffCoeff;
124       R__b >> fQref;
125       R__b >> fZeroSuppFlag;
126       R__b >> fMinVal;
127       R__b >> fWrite;
128       //R__b.ReadArray(fOption); // Not to be printed out?
129       //R__b.ReadArray(fParam1); // Not to be printed out?
130       //R__b.ReadArray(fParam2); // Not to be printed out?
131       fDataType.Streamer(R__b);
132       fFileName1.Streamer(R__b);
133       fFileName2.Streamer(R__b);
134       fFileName3.Streamer(R__b);
135    } else {
136       R__b.WriteVersion(AliITSresponseSDD::IsA());
137       AliITSresponse::Streamer(R__b);
138       R__b.WriteArray(fCPar, 8);
139       R__b << fNoise;
140       R__b << fBaseline;
141       R__b << fTopValue;
142       R__b << fTemperature;
143       R__b << fDriftSpeed;
144       R__b << fMaxAdc;
145       R__b << fDiffCoeff;
146       R__b << fQref;
147       R__b << fZeroSuppFlag;
148       R__b << fMinVal;
149       R__b << fWrite;
150       //R__b.WriteArray(fOption, __COUNTER__); // Not to be printed out?
151       //R__b.WriteArray(fParam1, __COUNTER__); // Not to be printed out?
152       //R__b.WriteArray(fParam2, __COUNTER__); // Not to be printed out?
153       fDataType.Streamer(R__b);
154       fFileName1.Streamer(R__b);
155       fFileName2.Streamer(R__b);
156       fFileName3.Streamer(R__b);
157    }
158 }