source: branches/MarsFixTimeOffsetBranch/msimcamera/MSimCamera.h@ 18006

Last change on this file since 18006 was 18006, checked in by smueller, 10 years ago
Fix tempral offsets are added to the relative arrival time in the camera simulation. The offsets are taken from the new generic MMatrix container. In the ceres.rc file is a new key value pair specifieing the path to a text file holding the delay data.
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.