source: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeBlindCamTwoNewStyle.cc@ 4845

Last change on this file since 4845 was 4842, checked in by gaug, 20 years ago
*** empty log message ***
File size: 6.6 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 07/2004 <mailto:markus@ifae.es>
19!
20! Copyright: MAGIC Software Development, 2000-2004
21!
22!
23\* ======================================================================== */
24
25/////////////////////////////////////////////////////////////////////////////
26//
27// MCalibrationChargeBlindCamTwoNewStyle
28//
29// Blind Pixels Calibration camera after run 31693. The blind pixel camera
30// consisted then of two non-coated blind pixel with very well known
31// quantum efficiency read out in hardware ID 560 and 561.
32//
33// See also: MCalibrationChargeBlindCam
34//
35/////////////////////////////////////////////////////////////////////////////
36#include "MCalibrationChargeBlindCamTwoNewStyle.h"
37#include "MCalibrationChargeBlindPix.h"
38
39#include "MCalibrationCam.h"
40
41ClassImp(MCalibrationChargeBlindCamTwoNewStyle);
42
43using namespace std;
44// --------------------------------------------------------------------------
45//
46// Default constructor.
47//
48// - CreatePixs();
49// - CreateAreas();
50// - CreateAtts();
51// - CreateQEs();
52// - CreateCollEffs();
53//
54MCalibrationChargeBlindCamTwoNewStyle::MCalibrationChargeBlindCamTwoNewStyle(const char *name)
55 : MCalibrationChargeBlindCam(2,name,"Two Blind Pixels in camera - new style")
56{
57
58 CreatePixs ();
59 CreateAreas ();
60 CreateAtts ();
61 CreateQEs ();
62 CreateCollEffs();
63
64}
65
66
67// --------------------------------------------------------------------------
68//
69// Two blind pixels with ID 559 and 560 (software)
70//
71void MCalibrationChargeBlindCamTwoNewStyle::CreatePixs()
72{
73
74 (*this)[0].SetPixId(559);
75 (*this)[1].SetPixId(560);
76
77}
78
79// --------------------------------------------------------------------------
80//
81// Two blind pixels with exactly 100 mm^2 area
82//
83void MCalibrationChargeBlindCamTwoNewStyle::CreateAreas()
84{
85
86 (*this)[0].SetArea(100.);
87 (*this)[1].SetArea(100.);
88
89}
90
91// --------------------------------------------------------------------------
92//
93// Two blind pixels with very well known qe's: David's measurments with
94// 1% error.
95//
96void MCalibrationChargeBlindCamTwoNewStyle::CreateQEs()
97{
98
99 (*this)[0].SetQE ( 0.166, MCalibrationCam::kGREEN );
100 (*this)[0].SetQE ( 0.240, MCalibrationCam::kBLUE );
101 (*this)[0].SetQE ( 0.273, MCalibrationCam::kUV );
102 (*this)[0].SetQE ( 0.273, MCalibrationCam::kCT1 );
103
104 (*this)[0].SetQEErr ( 0.004, MCalibrationCam::kGREEN );
105 (*this)[0].SetQEErr ( 0.005, MCalibrationCam::kBLUE );
106 (*this)[0].SetQEErr ( 0.006, MCalibrationCam::kUV );
107 (*this)[0].SetQEErr ( 0.006, MCalibrationCam::kCT1 );
108
109 (*this)[1].SetQE ( 0.155, MCalibrationCam::kGREEN );
110 (*this)[1].SetQE ( 0.228, MCalibrationCam::kBLUE );
111 (*this)[1].SetQE ( 0.261, MCalibrationCam::kUV );
112 (*this)[1].SetQE ( 0.261, MCalibrationCam::kCT1 );
113
114 (*this)[1].SetQEErr ( 0.004, MCalibrationCam::kGREEN );
115 (*this)[1].SetQEErr ( 0.005, MCalibrationCam::kBLUE );
116 (*this)[1].SetQEErr ( 0.006, MCalibrationCam::kUV );
117 (*this)[1].SetQEErr ( 0.006, MCalibrationCam::kCT1 );
118
119}
120
121// --------------------------------------------------------------------------
122//
123// One blind pixel with poorly known coll.eff's: email from Eckart with
124// estimates depending on colour, but 5% error (maybe more??)
125//
126void MCalibrationChargeBlindCamTwoNewStyle::CreateCollEffs()
127{
128
129 (*this)[0].SetCollEff ( 0.99, MCalibrationCam::kGREEN );
130 (*this)[0].SetCollEff ( 0.93, MCalibrationCam::kBLUE );
131 (*this)[0].SetCollEff ( 0.90, MCalibrationCam::kUV );
132 (*this)[0].SetCollEff ( 0.90, MCalibrationCam::kCT1 );
133
134 (*this)[0].SetCollEffErr ( 0.05, MCalibrationCam::kGREEN );
135 (*this)[0].SetCollEffErr ( 0.05, MCalibrationCam::kBLUE );
136 (*this)[0].SetCollEffErr ( 0.05, MCalibrationCam::kUV );
137 (*this)[0].SetCollEffErr ( 0.05, MCalibrationCam::kCT1 );
138
139 (*this)[1].SetCollEff ( 0.99, MCalibrationCam::kGREEN );
140 (*this)[1].SetCollEff ( 0.93, MCalibrationCam::kBLUE );
141 (*this)[1].SetCollEff ( 0.90, MCalibrationCam::kUV );
142 (*this)[1].SetCollEff ( 0.90, MCalibrationCam::kCT1 );
143
144 (*this)[1].SetCollEffErr ( 0.05, MCalibrationCam::kGREEN );
145 (*this)[1].SetCollEffErr ( 0.05, MCalibrationCam::kBLUE );
146 (*this)[1].SetCollEffErr ( 0.05, MCalibrationCam::kUV );
147 (*this)[1].SetCollEffErr ( 0.05, MCalibrationCam::kCT1 );
148
149
150}
151
152// --------------------------------------------------------------------------
153//
154// One blind pixel has a very well known attenuation 0.01 (datasheet delivered
155// with filter, precision better than 1%
156//
157// The second blind pixel is not yet so well known, the company does not reply.
158// Attenuation: 0.001 (datasheet not delivered with filter, precision guaranteed to 5%)
159//
160void MCalibrationChargeBlindCamTwoNewStyle::CreateAtts()
161{
162
163 (*this)[0].SetAtt ( 1.97, MCalibrationCam::kGREEN );
164 (*this)[0].SetAtt ( 1.96, MCalibrationCam::kBLUE );
165 (*this)[0].SetAtt ( 1.95, MCalibrationCam::kUV );
166 (*this)[0].SetAtt ( 1.95, MCalibrationCam::kCT1 );
167
168 (*this)[0].SetAttErr ( 0.01, MCalibrationCam::kGREEN );
169 (*this)[0].SetAttErr ( 0.01, MCalibrationCam::kBLUE );
170 (*this)[0].SetAttErr ( 0.01, MCalibrationCam::kUV );
171 (*this)[0].SetAttErr ( 0.01, MCalibrationCam::kCT1 );
172
173 (*this)[1].SetAtt ( 3.00, MCalibrationCam::kGREEN );
174 (*this)[1].SetAtt ( 3.00, MCalibrationCam::kBLUE );
175 (*this)[1].SetAtt ( 3.00, MCalibrationCam::kUV );
176 (*this)[1].SetAtt ( 3.00, MCalibrationCam::kCT1 );
177
178 (*this)[1].SetAttErr ( 0.15, MCalibrationCam::kGREEN );
179 (*this)[1].SetAttErr ( 0.15, MCalibrationCam::kBLUE );
180 (*this)[1].SetAttErr ( 0.15, MCalibrationCam::kUV );
181 (*this)[1].SetAttErr ( 0.15, MCalibrationCam::kCT1 );
182
183}
184
Note: See TracBrowser for help on using the repository browser.