PandaRoot
PndT0CandidateDetermination.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 #ifndef PndT0CandidateDetermination_H_
14 #define PndT0CandidateDetermination_H_
15 
16 // Class to process sorted and time of flight corrected time stamps (of fast counters) to determine TO in the continuous read out.
17 // potential event times (T0) are stored in a onlineT0 Branche in the reco output
18 // For tests it can also run in the event based mode (RunContinuous(kFALSE)) and the blocked time for triggering new potential T0s can be changed by using SetBlockedTime(double
19 // val). (standard is 4 ns)
20 
21 #include "TClonesArray.h"
22 #include "TString.h"
23 
24 #include "FairTask.h"
25 
26 class PndT0CandidateDetermination : public FairTask {
27  public:
29  PndT0CandidateDetermination(TString inputBranch);
32 
34  // virtual void SetParContainers();
35  virtual InitStatus Init();
36  // virtual InitStatus ReInit();
37 
39  virtual void Exec(Option_t *opt);
40  // virtual void FinishEvent();
41  virtual void FinishTask();
42 
43  void SetOutBranchName(TString name) { fOutBranchName = name; };
44  // void AddInputBranch(TString branchName){ fInBranches.push_back(branchName);};
45 
46  void RunContinuous(Bool_t val = kTRUE) { fRunContinuous = val; };
47  void SetPersistence(Bool_t val = kTRUE) { fPersistence = val; };
48 
49  void SetBlockedTime(double val) { fBlockedTime = val; };
50 
51  private:
52  TString fOutBranchName;
53  TString fInBranch;
54 
55  TClonesArray *fInArray;
56  TClonesArray *fOutArray;
57 
58  double fBlockedTime;
59  double fStartTime;
60 
61  Bool_t fRunContinuous;
62  Bool_t fPersistence;
63 
64  ClassDef(PndT0CandidateDetermination, 0);
65 };
66 
67 #endif /*PndT0CandidateDetermination_H_*/
PndT0CandidateDetermination(TString inputBranch)
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
virtual ~PndT0CandidateDetermination()