FairRoot/PandaRoot
PndDiscTaskDigitization.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 // Author: Oliver Merle (Oliver.Merle@exp2.physik.uni-giessen.de)
3 // Changes: Mustafa Schmidt (Mustafa.A.Schmidt@physik.uni-giessen.de)
4 // Date: 30.11.2015
5 // Description: Digitization of Monte Carlo hits
6 //-------------------------------------------------------------------------
7 
8 #ifndef PNDDISCTASKDIGITIZATION_H
9 #define PNDDISCTASKDIGITIZATION_H
10 
11 #define USESENSORGRID
12 
13 // project specific
14 #include "PndDiscNoiseGeneration.h"
15 #include "PndDiscPhotodetector.h"
16 #include "PndDiscSensorGrid.h"
17 
18 // FAIR/PROOT
19 #include <PndPersistencyTask.h>
20 #include "PndDetectorList.h"
21 #include "FairMCEventHeader.h"
22 
23 // ROOT
24 #include "TString.h"
25 #include <Math/Interpolator.h> // ROOT imports from GSL -> GPL License !!!
26 
27 // cpp
28 #include <set>
29 
30 
31 
32 //class TClonesArray;
33 
34 
35 
37 {
38 public:
40  PndDiscTaskDigitization(const char* name);
41  virtual ~PndDiscTaskDigitization();
42 
43  // Implement FairTask interface:
44  virtual InitStatus Init();
45  virtual InitStatus ReInit();
46  virtual void Exec(Option_t* opt);
47  virtual void FinishEvent();
48  virtual void FinishTask();
49 
50  void RunTimeBased(Bool_t time_based) { is_time_based = time_based; }
51 
52  // Additional functionality
53  void FilterParticleSpecies(Int_t pdg);
54  void SetRunMixed(Bool_t is_mixed=kTRUE)
55  { is_run_mixed = is_mixed; }
56 
57 protected:
61 
63  TClonesArray * tclarr_mc_points;
64  TClonesArray * tclarr_particle_tracks_in;
65  TClonesArray * tclarr_particle_tracks_out;
66  TClonesArray * array;
67  std::set<int> particle_types;
68 
69  FairWriteoutBuffer * writeout_buffer;
70 
71  FairMCEventHeader * fMcEventHeader;
72 
76 
77 
78 #ifdef USESENSORGRID
80 #else
81  //ROOT::Math::Interpolator pde_interpolator; //!
82  DiscDIRC_NoiseGeneration noise_generator;
83 #endif
84 
85  ClassDef(PndDiscTaskDigitization, 1)
86 };
87 
88 #endif // PNDDISCTASKDIGITIZATION_H
virtual void Exec(Option_t *opt)
DiscDIRC_Photodetector * photo_detector
FairWriteoutBuffer * writeout_buffer
particle types to filter in output
TString branch_name_mc_point
Branch name where mc points were stored.
TString folder_name_digits
Folder name for output in root file.
void SetRunMixed(Bool_t is_mixed=kTRUE)
FairMCEventHeader * fMcEventHeader
Int_t mc_point_branch_id
Cache branch id of the mc point branch for linking with FairLink.
TClonesArray * tclarr_particle_tracks_out
TString name
Bool_t is_persistent
Write buffer to disc on/off.
TString branch_name_digits
Branch name where digitized hits shall be stored.
void RunTimeBased(Bool_t time_based)
Bool_t is_time_based
Time based buffering on/off.
TClonesArray * tclarr_particle_tracks_in
to cache the pointer to input TClonesArray returned by IO manager.