PandaRoot
PndSciTDigiTask.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndSciTDigiTask header file -----
15 // ----- Created by D. Steinschaden -----
16 // ----- last update 06.2015 -----
17 // -------------------------------------------------------------------------
18 
26 #ifndef PNDSCITDIGITASK_H
27 #define PNDSCITDIGITASK_H
28 
29 #include <PndPersistencyTask.h>
30 #include "PndSciTPoint.h"
31 #include "PndGeoHandling.h"
32 #include "PndGeoSciTPar.h"
34 
35 #include "FairMCEventHeader.h"
36 #include "FairGeoVector.h"
37 #include "FairGeoTransform.h"
38 
39 #include "TVector3.h"
40 #include "TGeoMatrix.h"
41 #include "TRandom.h"
42 #include <string>
43 
44 class TClonesArray;
45 
47  public:
50  PndSciTDigiTask(Double_t dt, Double_t deadtime);
51 
54 
56  virtual void SetParContainers();
57  virtual InitStatus Init();
58 
59  void RunTimeBased();
60 
61  void SetDeadTime(Double_t deadtime) { fDeadtime = deadtime; }; // in ns default val = 1000
62  void SetTimeResolution(Double_t dt) { fdt = dt; }; // in ns default val = 0.075
63  void SetPileupTime(Double_t pileuptime) { fPileupTime = pileuptime; }; // in ns default val = 0.1
64 
65  void SetBuffering(Bool_t B) { fActivateBuffering = B; };
66 
68  virtual void Exec(Option_t *opt);
69  void smear(Double_t &time, Double_t &dt);
70 
71  protected:
72  TString fInBranchName;
73  TString fOutBranchName;
75 
77  TClonesArray *fPointArray;
78 
80  TClonesArray *fHitArray;
81 
84  PndGeoHandling *fGeoH; // For converting sensor ID (shortID) into the Full volume path
85 
87 
89  Bool_t fActivateBuffering; // set to kFALSE to deaktivate Buffering and PileUP
90 
91  void Register();
92  void Reset();
93  void ProduceHits();
94 
96 };
97 
98 #endif
void SetDeadTime(Double_t deadtime)
PndGeoHandling * fGeoH
virtual void Exec(Option_t *opt)
TClonesArray * fPointArray
TClonesArray * fHitArray
Class to access the naming information of the MVD.
void SetBuffering(Bool_t B)
void SetTimeResolution(Double_t dt)
Bool_t fActivateBuffering
virtual InitStatus Init()
void SetPileupTime(Double_t pileuptime)
PndSciTHitWriteoutBuffer * fDataBuffer
void smear(Double_t &time, Double_t &dt)
TString fOutBranchName
PndGeoSciTPar * fGeoPar
virtual void SetParContainers()
Double_t fPileupTime
ClassDef(PndSciTDigiTask, 1)
Bool_t fTimeOrderedDigi
set to kTRUE to use the time ordering of the output data.
TString fSortedOutBranchName