PandaRoot
RhoFactory.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 RHOFACTORY_H
14 #define RHOFACTORY_H
15 // //
17 // RhoFactory //
18 // //
19 // Object factory for RhoCandidate and Vertices (RhoVector3Err) //
20 // //
21 // Author List: //
22 // Marcel Kunze, RUB, Feb. 01 //
23 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
24 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
25 // //
27 
28 #include <iostream>
29 
30 #include "TClonesArray.h"
31 
32 class RhoCandidate;
33 class RhoVector3Err;
34 class TLorentzVector;
35 class RhoError;
37 class TParticlePDG;
38 
39 class RhoFactory : public TObject {
40 
41  public:
42  static RhoFactory *Instance();
43  virtual ~RhoFactory();
44  static void Reset();
45  static RhoCandidate *NewCandidate();
46  static RhoCandidate *NewCandidate(const RhoCandidate &c);
47  static RhoCandidate *NewCandidate(const RhoCandidate *c);
48 
49  // static RhoCandidate* NewCandidate ( TLorentzVector p4,
50  // RhoError& p4Err,
51  // RhoCandListIterator& iterDau,
52  // RhoVector3Err& theVertex,
53  // const TParticlePDG* hypo = 0 );
54 
55  static RhoCandidate *GetCandidate(Int_t);
56  static Int_t GetCandidateWatermark();
57  static Int_t GetCandPointer();
58 
59  private:
60  RhoFactory() {}
61  static RhoFactory *fgInstance;
62  static TClonesArray *fgCandBuffer;
63  static Int_t fgCandPointer; // Actual position
64  static Int_t fgCandWatermark; // Max. position
65 
66  ClassDef(RhoFactory, 1) // Factory for candidates and vertices
67 };
68 #endif
static Int_t GetCandPointer()
virtual ~RhoFactory()
static void Reset()
static RhoCandidate * NewCandidate()
static Int_t GetCandidateWatermark()
static RhoFactory * Instance()
static RhoCandidate * GetCandidate(Int_t)