source: branches/Mars_IncreaseNsb/msimcamera/MSimCamera.h

Last change on this file was 18333, checked in by Jens Buss, 9 years ago
Reintegrated private branch for the simulation of a gapd time jitter to the trunk
File size: 2.3 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 MParameterD *fResidualTimeSpread; //! Container to store a standard deviation for a residual time spread
39 MParameterD *fGapdTimeJitter; //! Container to store a standard deviation for a gapd time jitter
40
41 MMatrix *fFixTimeOffsetsBetweenPixelsInNs; //! Container to store the fix temporal offsets for each pixel in ns
42
43 MTruePhotonsPerPixelCont *fTruePhotons; //! Container to store the number of photons per pixel
44
45 const MSpline3 *fSpline; // Pulse Shape
46
47 Bool_t fBaselineGain; // Should the gain be applied to baseline and electronic noise?
48
49 Double_t fDefaultOffset; // Default offset added to all channels
50 Double_t fDefaultNoise; // Default noise (RMS) added to all samples
51 Double_t fDefaultGain; // Default gain (multiplication factor to the given/used pulse shape)
52
53 Double_t fACFudgeFactor;
54
55 Double_t fACTimeConstant;
56
57 // MParContainer
58 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
59
60 // MTask
61 Int_t PreProcess(MParList *pList);
62 Bool_t ReInit(MParList *pList);
63 Int_t Process();
64
65public:
66 MSimCamera(const char *name=NULL, const char *title=NULL);
67
68 ClassDef(MSimCamera, 0) // Task to simulate the electronic noise and to convert photons into pulses
69};
70
71#endif
Note: See TracBrowser for help on using the repository browser.