source: fact/tools/rootmacros/PulseTemplates/pixel.h@ 13646

Last change on this file since 13646 was 13645, checked in by Jens Buss, 14 years ago
add constuctor for pixel without ID but name
File size: 4.3 KB
Line 
1/** A one line description of the class.
2 *
3 * #include "XX.h" <BR>
4 * -llib
5 *
6 * A longer description.
7 *
8 * @see something
9 */
10
11#ifndef PIXEL_H
12#define PIXEL_H
13
14// SYSTEM INCLUDES
15
16#include <TROOT.h>
17#include <TProfile.h>
18#include <TH2F.h>
19#include <TH1I.h>
20#include <TH1F.h>
21#include <TString.h>
22
23//
24
25// PROJECT INCLUDES
26//
27//#include "rootfilehandler.h"
28//#include "rootfilehandler.C"
29
30// LOCAL INCLUDES
31//
32
33// FORWARD REFERENCES
34//
35
36
37class Pixel
38{
39public:
40// LIFECYCLE
41
42 /** Default constructor.
43 */
44 Pixel(
45 int pixelID,
46 int maxPulsorder,
47 int verbosityLevel,
48 bool stats,
49 TFile* filename
50 );
51
52 Pixel(
53 TString pixelname,
54 int maxPulsorder,
55 int verbosityLevel,
56 bool stats,
57 TFile* filename
58 );
59
60 Pixel(
61 int pixelID,
62 int maxPulsorder,
63 int verbosityLevel,
64 bool stats,
65 TFile* filename,
66 int pixelOverlayXaxisLeft,
67 int pixelOverlayXaxisRight,
68 float bSLMean,
69 float gainMean,
70 TString options
71 );
72
73
74 // /** Copy constructor.
75 // *
76 // * @param from The value to copy to this object.
77 // */
78
79
80 /** Destructor.
81 */
82 ~Pixel();
83
84
85// OPERATORS
86
87// /** Assignment operator.
88// *
89// * @param from THe value to assign to this object.
90// *
91// * @return A reference to this object.
92// */
93// XX& operator=(const XX& from);
94
95// OPERATIONS
96
97 //Histogram Booking
98 void BookPixelHistos();
99 void BookDistributionHistos();
100 void BookTemplateHistos();
101 void BookEdgeTemplateHistos();
102
103 //Histogram Drawing
104 void DrawOverlayHistograms(
105 TCanvas **pixelCanvas, //Array of Canvases
106 int *histoFrameNR //Array with Canvas Frame numbers
107 );
108 void DrawDistributionHistograms(
109 TCanvas **pixelCanvas, //Array of Canvases
110 int *histoFrameNr //Array with Canvas Frame numbers
111 );
112 void DrawTemplateHistograms(
113 TCanvas **pixelCanvas, //Array of Canvases
114 int *histoFrameNr //Array with Canvas Frame numbers
115 );
116 void DrawEdgeTemplateHistograms(
117 TCanvas **pixelCanvas, //Array of Canvases
118 int *histoFrameNr //Array with Canvas Frame numbers
119 );
120
121 //Histogram deletion
122 void DeletePixelHistos();
123 void DeleteDistributionHistos();
124 void DeleteTemplateHistos();
125 void DeleteEdgeTemplateHistos();
126
127 //File Handling
128 void SavePixelHistograms(TString loc_fname, bool);
129 void LoadPulseHistos( );
130
131 //File Handling Service Functions
132 TString HistoTitle(TString, int );
133 TString HistoName(TString, int);
134 TString CsvFileName(TString, TString, int );
135
136// ACCESS
137// INQUIRY
138 int mChid;
139 TString mName;
140 bool mStats;
141 int mMaxPulseOrder;
142 int mVerbosityLevel;
143 int mPixelOverlayXaxisLeft;
144 int mPixelOverlayXaxisRight;
145 float mBSLMean;
146 float mGainMean;
147 TString mOptions;
148
149 //Pixel Histos
150 TH2F** hMaxOverlay; //histogrammm for overlay of detected Peaks
151 TH2F** hEdgeOverlay;
152 TProfile** hMaxProfile; //histogrammm for Profile of detected Peaks
153 TProfile** hEdgeProfile; //histogrammm for Profile of detected Peaks
154
155 //Distribution Histos
156 TH1F** hSlopeRisingEdge;
157 TH1I** hRisingEdgeToMax;
158 TH1I** hPosOfMax;
159
160 //Max Overlay Template Histos
161 TH1F** hPixelMax;
162 TH1F** hPixelMedian;
163 TH1F** hPixelMean;
164 //Edge OverlayTemplate Histos
165 TH1F** hPixelEdgeMax;
166 TH1F** hPixelEdgeMedian;
167 TH1F** hPixelEdgeMean;
168
169 TObjArray* hList;
170
171 TFile* mRootFile;
172
173protected:
174private:
175 int mConstructorType; //0 delete distributions, 1 delete TemplateHistos
176};
177
178// INLINE METHODS
179//
180
181// EXTERNAL REFERENCES
182//
183
184#endif // _PIXEL_H_
Note: See TracBrowser for help on using the repository browser.