Adding PiKP-only histograms and eliminating a number of switches where histograms...
[u/mrichter/AliRoot.git] / MUON / AliMUONPadInfo.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 /// \class AliMUONPadInfo
20 ///
21 /// Class to summarize ESD data at pad
22 ///
23 /// \author Philippe Pillot, Subatech
24 //-----------------------------------------------------------------------------
25
26 #include "AliMUONPadInfo.h"
27
28 #include "AliLog.h"
29
30 #include <Riostream.h>
31
32 /// \cond CLASSIMP
33 ClassImp(AliMUONPadInfo)
34 /// \endcond
35
36 //_____________________________________________________________________________
37 AliMUONPadInfo::AliMUONPadInfo()
38 : TObject(),
39   fPadId(0),
40   fPadPlaneType(0),
41   fPadX(0.),
42   fPadY(0.),
43   fPadDimX(0.),
44   fPadDimY(0.),
45   fPadCharge(0.),
46   fPadADC(0),
47   fPadSaturated(0),
48   fPadCalibrated(0),
49   fPedMean(0.),
50   fPedSigma(0.),
51   fGainA0(0.),
52   fGainA1(0.),
53   fGainThres(0),
54   fGainQual(0)
55 {
56   /// default constructor
57 }
58
59 //_____________________________________________________________________________
60 AliMUONPadInfo::AliMUONPadInfo (const AliMUONPadInfo& padInfo)
61 : TObject(padInfo),
62   fPadId(padInfo.fPadId),
63   fPadPlaneType(padInfo.fPadPlaneType),
64   fPadX(padInfo.fPadX),
65   fPadY(padInfo.fPadY),
66   fPadDimX(padInfo.fPadDimX),
67   fPadDimY(padInfo.fPadDimY),
68   fPadCharge(padInfo.fPadCharge),
69   fPadADC(padInfo.fPadADC),
70   fPadSaturated(padInfo.fPadSaturated),
71   fPadCalibrated(padInfo.fPadCalibrated),
72   fPedMean(padInfo.fPedMean),
73   fPedSigma(padInfo.fPedSigma),
74   fGainA0(padInfo.fGainA0),
75   fGainA1(padInfo.fGainA1),
76   fGainThres(padInfo.fGainThres),
77   fGainQual(padInfo.fGainQual)
78 {
79   /// Copy constructor
80 }
81
82 //_____________________________________________________________________________
83 AliMUONPadInfo& AliMUONPadInfo::operator=(const AliMUONPadInfo& padInfo)
84 {
85   /// Equal operator
86   if (this == &padInfo) return *this;
87   
88   TObject::operator=(padInfo); // don't forget to invoke the base class' assignment operator
89   
90   fPadId = padInfo.fPadId;
91   fPadPlaneType = padInfo.fPadPlaneType;
92   fPadX = padInfo.fPadX;
93   fPadY = padInfo.fPadY;
94   fPadDimX = padInfo.fPadDimX;
95   fPadDimY = padInfo.fPadDimY;
96   fPadCharge = padInfo.fPadCharge;
97   fPadADC = padInfo.fPadADC;
98   fPadSaturated = padInfo.fPadSaturated;
99   fPadCalibrated = padInfo.fPadCalibrated;
100   fPedMean = padInfo.fPedMean;
101   fPedSigma = padInfo.fPedSigma;
102   fGainA0 = padInfo.fGainA0;
103   fGainA1 = padInfo.fGainA1;
104   fGainThres = padInfo.fGainThres;
105   fGainQual = padInfo.fGainQual;
106     
107   return *this;
108 }
109
110 //__________________________________________________________________________
111 AliMUONPadInfo::~AliMUONPadInfo()
112 {
113   /// Destructor
114 }
115
116 //_____________________________________________________________________________
117 void AliMUONPadInfo::Print(Option_t* option) const
118 {
119   /// print pad info content
120   /// also print calibration parameters if option=FULL
121     
122   cout<<Form("- padID=%u (det=%d, manuI=%d, manuC=%d, cath=%d)",
123              GetPadId(), GetDetElemId(), GetManuId(), GetManuChannel(), GetCathode())<<endl;
124   
125   cout<<Form("    position=(%5.2f, %5.2f), dimension=(%5.2f, %5.2f)",
126              GetPadX(), GetPadY(), GetPadDimX(), GetPadDimY())<<endl;
127   
128   cout<<Form("    charge=%5.2f, ADC=%d", GetPadCharge(), GetPadADC())<<endl;
129     
130   if (strstr(option,"FULL")) {
131     cout<<Form("    pedestal (mean=%5.2f, sigma=%5.2f)", GetPedMean(), GetPedSigma())<<endl;
132     cout<<Form("    gain (a0=%5.2f, a1=%5.2f, thres=%d, qual=%d)",
133                GetGainA0(), GetGainA1(), GetGainThres(), GetGainQual())<<endl;
134   }
135   
136 }
137