PandaRoot
PndUnassignedHitsTask.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  * PndUnassignedHitsTask.h
15  *
16  * Created on: Nov 22, 2018
17  * Author: Tobias Stockmanns <t.stockmanns@fz-juelich.de>
18  */
19 
20 #ifndef PndUnassignedHitsTask_H_
21 #define PndUnassignedHitsTask_H_
22 
23 #include "PndPersistencyTask.h"
24 
25 #include "FairMultiLinkedData.h"
26 
27 #include <map>
28 
29 class TClonesArray;
30 class FairMultiLinkedData;
31 
33  public:
34  PndUnassignedHitsTask() : PndPersistencyTask("Unassigned Hits Task"), fUnassignedBranchExtension("Unassigned"){};
36 
38  virtual void SetParContainers();
39  virtual InitStatus Init();
40 
42  virtual void Exec(Option_t *opt);
43 
44  virtual void AddHitBranch(TString branchName);
45  virtual void AddTrackCands(TString trackCandName);
46  virtual void SetUnassignedBranchExtension(TString name) { fUnassignedBranchExtension = name; };
47  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
48 
49  protected:
50  void RegisterBranches();
51  void RegisterTrackCands();
52  void FillTrackCands();
53  void FillUnassignedHits(TString branchName);
54  void FillOutputBranch(TString branchName, std::vector<int> unusedHits);
55 
56  private:
57  std::map<TString, TClonesArray *> fHitBranches;
58  std::map<TString, TClonesArray *> fUnassignedHitBranches;
59  std::map<TString, TClonesArray *> fTrackCands;
60  FairMultiLinkedData fHitsInTracks;
61  TString fUnassignedBranchExtension;
62  ClassDef(PndUnassignedHitsTask, 1);
63 };
64 
65 #endif /* PndUnassignedHitsTask_H_ */
virtual void AddHitBranch(TString branchName)
virtual InitStatus Init()
virtual void SetUnassignedBranchExtension(TString name)
void SetVerbose(Int_t verbose)
virtual void SetParContainers()
virtual void AddTrackCands(TString trackCandName)
void FillUnassignedHits(TString branchName)
void FillOutputBranch(TString branchName, std::vector< int > unusedHits)
virtual void Exec(Option_t *opt)