source: trunk/MagicSoft/Mars/manalysis/MCerPhotPix.cc@ 6031

Last change on this file since 6031 was 6031, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 3.3 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): Thomas Bretz 12/2000 <mailto:tbretz@astro.uni-wuerzburg.de>
19! Author(s): Harald Kornmayer 1/2001
20!
21! Copyright: MAGIC Software Development, 2000-2004
22!
23!
24\* ======================================================================== */
25
26
27/////////////////////////////////////////////////////////////////////////////
28//
29// MCerPhotPix
30//
31// Storage container for the signal in a pixel in number of photons.
32//
33// NOTE: This container is NOT ment for I/O. Write it to a file on your
34// own risk!
35//
36// fIsSaturated: boolean variable set to kTRUE whenever one or more of
37// the low gain FADC slices of the pixel is in saturation.
38//
39// Version 2:
40// ----------
41// - added fIsSaturated
42//
43// Version 4:
44// ----------
45// - added fIsHGSaturated
46//
47// Version 5:
48// ----------
49// - added fIdxIsland
50//
51////////////////////////////////////////////////////////////////////////////
52#include "MCerPhotPix.h"
53
54#include "MLog.h"
55
56ClassImp(MCerPhotPix);
57
58using namespace std;
59
60// --------------------------------------------------------------------------
61//
62// Default constructor. The pixel is assumed as used and not a core pixel.
63// NT 29/04/2003: A pixel is considered used when fRing > 0.
64//
65MCerPhotPix::MCerPhotPix(Int_t pix, Float_t phot, Float_t errphot) :
66 fPixId(pix), fIsCore(kFALSE), fRing(1), fIdxIsland(-1),
67 fPhot(phot), fErrPhot(errphot),
68 fIsSaturated(kFALSE), fIsHGSaturated(kFALSE)
69{
70 MMath::TruncatePrecision(fPhot);
71 MMath::TruncatePrecision(fErrPhot);
72}
73
74// --------------------------------------------------------------------------
75//
76// From TObject:
77// Compare abstract method. Must be overridden if a class wants to be able
78// to compare itself with other objects. Must return -1 if this is smaller
79// than obj, 0 if objects are equal and 1 if this is larger than obj.
80//
81// Here:
82// Index numbers are compared --> This allows sorting by index
83//
84Int_t MCerPhotPix::Compare(const TObject *o) const
85{
86 const Int_t diff = fPixId - static_cast<const MCerPhotPix*>(o)->fPixId;
87 return diff==0 ? 0 : TMath::Sign(1, diff);
88}
89
90// --------------------------------------------------------------------------
91//
92// Print information to gLog.
93//
94void MCerPhotPix::Print(Option_t *) const
95{
96 gLog << GetDescriptor() <<" Pixel: "<< fPixId;
97 gLog << (fRing>0?" Used ":" Unused ");
98 gLog << (fIsCore?" Core ":" ");
99 gLog << (fIsSaturated?" ":"not") << " saturated ";
100 gLog << "High gain " << (fIsHGSaturated?" ":"not") << " saturated ";
101 gLog << "Nphot= " << fPhot << " Error(Nphot)=" << fErrPhot << endl;
102}
Note: See TracBrowser for help on using the repository browser.