PandaRoot
PndMapSorterTask.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  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
15  * *
16  * This software is distributed under the terms of the *
17  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
18  * copied verbatim in the file "LICENSE" *
19  ********************************************************************************/
20 
25 #ifndef PndMapSorterTask_H
26 #define PndMapSorterTask_H
27 
28 #include "FairTask.h" // for FairTask, InitStatus
29 
30 #include "PndMapSorter.h"
31 
32 #include "Rtypes.h" // for Bool_t, Int_t, kTRUE, etc
33 #include "TString.h" // for TString
34 
35 class FairTimeStamp;
36 class TClonesArray;
37 
38 class PndMapSorterTask : public FairTask {
39  public:
42  : FairTask("SorterTask"), fSorter(nullptr), fPersistance(kTRUE), fDigiPixelMCInfo(kFALSE), fInputBranch(), fInputArray(nullptr), fOutputBranch(), fFolder(),
43  fOutputArray(nullptr), fEntryNr(0), fTimeOffset(1000000000)
44  {
45  SetVerbose(0);
46  }
47 
49  PndMapSorterTask(const char *name)
50  : FairTask(name), fSorter(nullptr), fPersistance(kTRUE), fDigiPixelMCInfo(kFALSE), fInputBranch(), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr),
51  fEntryNr(0), fTimeOffset(1000000)
52  {
53  SetVerbose(0);
54  }
55 
56  PndMapSorterTask(TString inputBranch, TString outputBranch, TString folderName)
57  : FairTask("Sorter"), fSorter(nullptr), fPersistance(kTRUE), fDigiPixelMCInfo(kFALSE), fInputBranch(inputBranch), fInputArray(nullptr), fOutputBranch(outputBranch),
58  fFolder(folderName), fOutputArray(nullptr), fEntryNr(0), fTimeOffset(1000000)
59  {
60  SetVerbose(0);
61  }
62 
65  {
66  if (fSorter != nullptr) {
67  delete fSorter;
68  }
69  }
70 
72  virtual InitStatus Init();
73  virtual InitStatus ReInit();
74 
76  virtual void Exec(Option_t *opt);
77  virtual void FinishEvent();
78  virtual void FinishTask();
79 
80  virtual void SetParContainers(){};
81 
82  void SetPersistance(Bool_t p = kTRUE) { fPersistance = p; };
83  Bool_t GetPersistance() { return fPersistance; };
84 
85  void SetTimeOffset(Double_t val) { fTimeOffset = val; }
86 
87  virtual void AddNewDataToTClonesArray(FairTimeStamp *data);
88  // virtual FairRingSorter* InitSorter(Int_t numberOfCells, Double_t widthOfCells) const;
89 
90  protected:
93  Bool_t fPersistance;
97  TString fInputBranch;
98  TClonesArray *fInputArray;
100  TString fOutputBranch;
101  TString fFolder;
102  TClonesArray *fOutputArray;
103  Int_t fEntryNr;
104  Double_t fTimeOffset;
107 
109 };
110 
111 #endif
virtual void SetParContainers()
TClonesArray * fInputArray
PndMapSorterTask(TString inputBranch, TString outputBranch, TString folderName)
PndMapSorter * fSorter
virtual void FinishEvent()
virtual void Exec(Option_t *opt)
PndMapSorterTask(const char *name)
void SetPersistance(Bool_t p=kTRUE)
virtual InitStatus ReInit()
virtual InitStatus Init()
virtual void FinishTask()
virtual ~PndMapSorterTask()
virtual void AddNewDataToTClonesArray(FairTimeStamp *data)
TClonesArray * fOutputArray
PndMapSorterTask & operator=(const PndMapSorterTask &)
void SetTimeOffset(Double_t val)
ClassDef(PndMapSorterTask, 2)