source: trunk/Mars/msimcamera/MSimCamera.h@ 18009

Last change on this file since 18009 was 18009, checked in by smueller, 10 years ago
New feature: Fix temporal offsets in between the pixels can be simulated and defined in a text file. This is solving ticket #9
File size: 2.1 KB
Line 
1#ifndef MARS_MSimCamera
2#define MARS_MSimCamera
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#include "MArrayF.h"
9#include "MMatrix.h"
10
11class MMcEvt;
12class MParList;
13class MPhotonEvent;
14class MPhotonStatistics;
15class MRawRunHeader;
16class MAnalogChannels;
17class MPedestalCam;
18class MArrayF;
19class MTruePhotonsPerPixelCont;
20
21class MSpline3;
22class MParameterD;
23
24class MSimCamera : public MTask
25{
26private:
27 MPhotonEvent *fEvt; //! Event stroing the photons
28 MPhotonStatistics *fStat; //! Valid time range of the phootn event
29 MRawRunHeader *fRunHeader; //! Sampling frequency
30 MPedestalCam *fElectronicNoise; //! Electronic noise (baseline and rms)
31 MPedestalCam *fGain; //! Electronic noise (baseline and rms)
32 MPedestalCam *fAccidentalPhotons;//! Accidental photon rates
33
34 MAnalogChannels *fCamera; //! Output of the analog signals
35 MMcEvt *fMcEvt; //! For information stored in MMcEvt
36
37 MParameterD *fCrosstalkCoeffParam;
38
39 MMatrix *fFixTimeOffsetsBetweenPixelsInNs; //! Container to store the fix temporal offsets for each pixel in ns
40
41 MTruePhotonsPerPixelCont *fTruePhotons; //! Container to store the number of photons per pixel
42
43 const MSpline3 *fSpline; // Pulse Shape
44
45 Bool_t fBaselineGain; // Should the gain be applied to baseline and electronic noise?
46
47 Double_t fDefaultOffset; // Default offset added to all channels
48 Double_t fDefaultNoise; // Default noise (RMS) added to all samples
49 Double_t fDefaultGain; // Default gain (multiplication factor to the given/used pulse shape)
50
51 Double_t fACFudgeFactor;
52
53 Double_t fACTimeConstant;
54
55 // MParContainer
56 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
57
58 // MTask
59 Int_t PreProcess(MParList *pList);
60 Bool_t ReInit(MParList *pList);
61 Int_t Process();
62
63public:
64 MSimCamera(const char *name=NULL, const char *title=NULL);
65
66 ClassDef(MSimCamera, 0) // Task to simulate the electronic noise and to convert photons into pulses
67};
68
69#endif
Note: See TracBrowser for help on using the repository browser.