source: trunk/MagicSoft/Simulation/Detector/include-MFadc/MFadc.hxx@ 664

Last change on this file since 664 was 638, checked in by magicsol, 24 years ago
Header file for MFadc.cxx version 1.7 The defines, which described the trigger simulation, have moved to include-Classes/MMcFormat/MFadcDefine.h
File size: 2.7 KB
Line 
1#ifndef __MFadc__
2#define __MFadc__
3//
4// class MFadc
5//
6// implemented by Harald Kornmayer
7//
8// This is a class to simulate the FADC.
9// It assumes a special response of the PMT for one single Photo-electron.
10//
11//
12//
13#include <stream.h>
14#include <math.h>
15
16#include "TObject.h"
17#include "TRandom.h"
18
19#include "Mdefine.h"
20
21#include "MTriggerDefine.h"
22#include "MFadcDefine.h"
23
24class MMcEvt ;
25
26//==========
27// MFadc
28//
29// The simulation of the Flash ADC system for the MAGIC teleskop is done with
30// this class.
31// So all methods concerning the FADC System should be done inside this
32// class.
33//
34// The Idea is to (in)put the data of the photo electrons into the class and
35// generate the response (output) of the FADC to that input. Response means
36// in this sense the ADC values of the different time slices for all pixels
37//
38// The pixelisation is done by the camera program of Jose Carlos.
39//
40// This class is closly connected to the MTrigger classs. So some of the
41// values defined in MTriggerDefine.h are also used by this class.
42//
43// But a lot of other stuff is defined in MFadcDefine.h.
44//
45//
46
47
48class MFadc {
49 private:
50 //
51 // then for all pixels the shape of all the analog signals
52 //
53 Bool_t used[CAMERA_PIXELS] ; // a boolean to indicated if the pixels is used in this event
54 UChar_t pedestal[CAMERA_PIXELS] ; // Pedestal of FADCs
55
56 Float_t sig[CAMERA_PIXELS][(Int_t) SLICES_MFADC] ; // the analog signal for pixels
57 UChar_t output[CAMERA_PIXELS][FADC_SLICES]; // the analog signal for pixels that is read after a trigger occurs.
58
59 //
60 // first the data for the response function
61 //
62 Float_t fwhm_resp ; // fwhm of the phe_response function
63 Float_t ampl_resp ; // amplitude of the phe_response function (in mV)
64 Float_t sing_resp[ RESPONSE_SLICES_MFADC ] ; // the shape of the phe_response function
65 //
66 // RandomGenerator for the Electonic Noise
67 //
68
69 TRandom *GenElec ;
70
71
72public:
73
74 MFadc() ;
75
76 void Reset() ;
77
78 void Fill( Int_t, Float_t, Float_t ) ;
79
80 void Set( Int_t iPix, Float_t res[(Int_t) SLICES_MFADC]);
81
82 void SetPedestals( Int_t ped);
83
84 void SetPedestals( UChar_t ped[CAMERA_PIXELS]);
85
86 void Baseline();
87
88 void Pedestals();
89
90 void Offset( Float_t, Int_t );
91
92 void ElecNoise() ;
93
94 void Scan() ;
95
96 void Scan(Float_t time) ;
97
98 void GetResponse( Float_t *resp ) ;
99
100 void GetPedestals( Char_t *offset);
101
102 void TriggeredFadc(Float_t time);
103
104 void ShowSignal ( MMcEvt *McEvt , Float_t ) ;
105
106 UChar_t GetFadcSignal(Int_t pixel, Int_t slice);
107
108 Float_t GetAmplitude() {
109 return ampl_resp ;
110 }
111
112 Float_t GetFwhm() {
113 return fwhm_resp ;
114 }
115
116
117} ;
118
119
120#endif
Note: See TracBrowser for help on using the repository browser.