PandaRoot
RhoFactory.h
Go to the documentation of this file.
1 #ifndef RHOFACTORY_H
2 #define RHOFACTORY_H
3 // //
5 // RhoFactory //
6 // //
7 // Object factory for RhoCandidate and Vertices (RhoVector3Err) //
8 // //
9 // Author List: //
10 // Marcel Kunze, RUB, Feb. 01 //
11 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
12 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
13 // //
15 
16 #include <iostream>
17 
18 #include "TClonesArray.h"
19 
20 class RhoCandidate;
21 class RhoVector3Err;
22 class TLorentzVector;
23 class RhoError;
25 class TParticlePDG;
26 
27 class RhoFactory : public TObject {
28 
29  public:
30  static RhoFactory *Instance();
31  virtual ~RhoFactory();
32  static void Reset();
33  static RhoCandidate *NewCandidate();
34  static RhoCandidate *NewCandidate(const RhoCandidate &c);
35  static RhoCandidate *NewCandidate(const RhoCandidate *c);
36 
37  // static RhoCandidate* NewCandidate ( TLorentzVector p4,
38  // RhoError& p4Err,
39  // RhoCandListIterator& iterDau,
40  // RhoVector3Err& theVertex,
41  // const TParticlePDG* hypo = 0 );
42 
43  static RhoCandidate *GetCandidate(Int_t);
44  static Int_t GetCandidateWatermark();
45  static Int_t GetCandPointer();
46 
47  private:
48  RhoFactory() {}
49  static RhoFactory *fgInstance;
50  static TClonesArray *fgCandBuffer;
51  static Int_t fgCandPointer; // Actual position
52  static Int_t fgCandWatermark; // Max. position
53 
54  ClassDef(RhoFactory, 1) // Factory for candidates and vertices
55 };
56 #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)