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

Last change on this file since 19622 was 19622, checked in by tbretz, 7 weeks ago
Performance improvement
File size: 2.4 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    Double_t fACTimeConstant;
55
56    Double_t fAreaOfOnePulse; //! Integral of a single pulse
57
58    // MParContainer
59    Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
60
61    // MTask
62    Int_t  PreProcess(MParList *pList);
63    Bool_t ReInit(MParList *pList);
64    Int_t  Process();
65
66public:
67    MSimCamera(const char *name=NULL, const char *title=NULL);
68
69    ClassDef(MSimCamera, 0) // Task to simulate the electronic noise and to convert photons into pulses
70};
71
72#endif
Note: See TracBrowser for help on using the repository browser.