source: branches/MarsWobble/msimcamera/MSimCamera.h@ 18162

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