source: tags/Mars-V0.8.6/msignal/MExtractedSignalPix.cc

Last change on this file was 3306, checked in by hbartko, 21 years ago
*** empty log message ***
File size: 3.8 KB
Line 
1/* ======================================================================== *\
2!
3! *
4! * This file is part of MARS, the MAGIC Analysis and Reconstruction
5! * Software. It is distributed to you in the hope that it can be a useful
6! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
7! * It is distributed WITHOUT ANY WARRANTY.
8! *
9! * Permission to use, copy, modify and distribute this software and its
10! * documentation for any purpose is hereby granted without fee,
11! * provided that the above copyright notice appear in all copies and
12! * that both that copyright notice and this permission notice appear
13! * in supporting documentation. It is provided "as is" without express
14! * or implied warranty.
15! *
16!
17!
18! Author(s): Markus Gaug 12/2003 <mailto:markus@ifae.es>
19! Author(s): Thomas Bretz 12/2003 <mailto:tbretz@astro.uni-wuerzburg.de>
20!
21! Copyright: MAGIC Software Development, 2000-2004
22!
23!
24\* ======================================================================== */
25
26/////////////////////////////////////////////////////////////////////////////
27//
28// MExtractedSignalPix
29//
30// This is the storage container to hold informations about the pedestal
31// (offset) value of one Pixel (PMT).
32//
33/////////////////////////////////////////////////////////////////////////////
34#include "MExtractedSignalPix.h"
35
36#include "MLog.h"
37#include "MLogManip.h"
38
39ClassImp(MExtractedSignalPix);
40
41using namespace std;
42
43static const Float_t gkSignalInitializer = 99999.9;
44
45// ------------------------------------------------------------------------
46//
47// MExtractedSignalPix holds the extracted signal (HiGain and LoGain)
48// of the FADC slices and its error.
49//
50// Additionally, the number of saturated HiGain and LoGain Slices are stored.
51//
52// Default values for the extracted signals are: 99999.9
53//
54MExtractedSignalPix::MExtractedSignalPix(const char* name, const char* title)
55 : fExtractedSignalHiGain(gkSignalInitializer),
56 fExtractedSignalHiGainError(gkSignalInitializer),
57 fExtractedSignalLoGain(gkSignalInitializer),
58 fExtractedSignalLoGainError(gkSignalInitializer),
59 fLoGainUsed(kFALSE),
60 fNumHiGainSaturated(0),
61 fNumLoGainSaturated(0)
62{
63 fName = name ? name : "MExtractedSignalPix";
64 fTitle = title ? title : "Container of the Extracted Signals";
65}
66
67// ------------------------------------------------------------------------
68//
69// Invalidate values
70//
71void MExtractedSignalPix::Clear(Option_t *o)
72{
73 fExtractedSignalHiGain = gkSignalInitializer;
74 fExtractedSignalHiGainError = gkSignalInitializer;
75 fExtractedSignalLoGain = gkSignalInitializer;
76 fExtractedSignalLoGainError = gkSignalInitializer;
77
78 fLoGainUsed = kFALSE;
79
80 fNumHiGainSaturated = 0;
81 fNumLoGainSaturated = 0;
82}
83
84void MExtractedSignalPix::SetExtractedSignal(Float_t sig, Float_t sigerr)
85{
86 fExtractedSignalHiGain = sig;
87 fExtractedSignalHiGainError = sigerr;
88}
89
90void MExtractedSignalPix::SetExtractedSignal(Float_t sighi, Float_t sighierr,
91 Float_t siglo, Float_t sigloerr)
92{
93 fExtractedSignalHiGain = sighi;
94 fExtractedSignalHiGainError = sighierr;
95 fExtractedSignalLoGain = siglo;
96 fExtractedSignalLoGainError = sigloerr;
97}
98
99Bool_t MExtractedSignalPix::IsValid() const
100{
101 return fExtractedSignalHiGain >= 0. || fExtractedSignalHiGainError >= 0.;
102}
103
104void MExtractedSignalPix::SetGainSaturation(Bool_t sat, Byte_t higain, Byte_t logain)
105{
106
107 fLoGainUsed = sat;
108 fNumHiGainSaturated = higain;
109 fNumLoGainSaturated = logain;
110}
111
112void MExtractedSignalPix::Print(Option_t *o) const
113{
114 *fLog << " Signal: " << fExtractedSignalHiGain
115 << " +- " << fExtractedSignalHiGainError
116 << " LoGain? " << fLoGainUsed
117 << " Nr. Sat. Hi Gain: " << fNumHiGainSaturated
118 << " Nr. Sat. Lo Gain: " << fNumLoGainSaturated
119 << endl;
120}
Note: See TracBrowser for help on using the repository browser.