PandaRoot
GFRecoHitFactory.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 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
40 #ifndef GFRECOHITFACTORY_H
41 #define GFRECOHITFACTORY_H
42 
43 #include <vector>
44 #include <map>
45 
46 #include "GFRecoHitProducer.h"
47 #include "GFTrackCand.h"
48 
49 class GFAbsRecoHit;
50 
63  private:
64  std::map<int, GFAbsRecoHitProducer *> fHitProdMap;
65 
66  public:
68  virtual ~GFRecoHitFactory();
69 
76  void addProducer(int detID, GFAbsRecoHitProducer *hitProd);
77 
80  void clear();
81 
88  GFAbsRecoHit *createOne(int detID, int index);
89 
101  std::vector<GFAbsRecoHit *> createMany(const GFTrackCand &cand);
102 };
103 
104 #endif
105 
void clear()
Clear all hit producers.
void addProducer(int detID, GFAbsRecoHitProducer *hitProd)
Register a producer module to the factory.
Factory object to create RecoHits from digitized and clustered data.
GFAbsRecoHit * createOne(int detID, int index)
Create a RecoHit.
Track candidate – a list of cluster indices.
Definition: GFTrackCand.h:67
Base Class for representing a Hit in GENFIT.
Definition: GFAbsRecoHit.h:83
Abstract interface class for GFRecoHitProducer.
virtual ~GFRecoHitFactory()
std::vector< GFAbsRecoHit * > createMany(const GFTrackCand &cand)
Creat a collection of RecoHits.