CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
LabeledDecay.h
Go to the documentation of this file.
1#ifndef DCHAIN_LABELEDDECAY_H
2#define DCHAIN_LABELEDDECAY_H
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: LabeledDecay
7//
8// Description: pairing of subclass of Decay<> and Conjugation::Label
9//
10// Usage:
11// <usage>
12//
13// Author: Simon Patton
14// Created: Wed Sep 18 14:47:30 EDT 1996
15// $Id: LabeledDecay.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: LabeledDecay.h,v $
20// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21// first import of DecayChain
22//
23// Revision 1.1 2006/01/11 20:28:09 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.1.1.1 2000/12/18 22:16:49 cdj
27// imported DChain
28//
29// Revision 1.9 1998/08/19 20:56:00 sjp
30// Added include of definitions
31//
32// Revision 1.8 1997/08/28 06:59:19 sjp
33// Modified files to handle complete templating
34//
35// Revision 1.7 1997/08/26 04:12:58 sjp
36// Made Candidate handling objects into `CandidateClass' Templates
37//
38// Revision 1.6 1997/08/19 23:01:43 sjp
39// Restructured package to be independent of Rock
40//
41// Revision 1.5 1997/08/15 21:32:20 sjp
42// Updated to use <package>/<file>.h include structure.
43// Updated to use bug flags specified in Experiement.h
44//
45// Revision 1.4 1997/01/22 16:27:18 sjp
46// Fixed error in pre-processor labels
47//
48// Revision 1.3 1997/01/21 20:33:48 sjp
49// Changed CPP flags and include because of library reorganization
50//
51// Revision 1.2 1996/12/20 21:19:09 sjp
52// Extended pathnames for Include files
53//
54// Revision 1.1 1996/11/04 19:35:57 sjp
55// New file for new `List' module
56//
57
58// system include files
59
60// user include files
61#include "DecayChain/Element/conjugation.h" // enumerator
62#include "DecayChain/Element/LabeledCandidate.h" // superclass
63
64using namespace dchain;
65// forward declarations
66
67template < class DecayClass >
68class LabeledDecay : public LabeledCandidate< typename DecayClass::CandidateClass >
69{
70 // friend classses and functions
71
72 public:
73 // constants, enums and typedefs
74
75 // Constructors and destructor
77 LabeledDecay( const LabeledDecay< DecayClass >& aOtherLabeled ) ;
78 template<class THolder>
79 LabeledDecay( THolder aDecayClass ,
80 const typename conjugation::Label aLabel ) :
81 LabeledCandidate<typename DecayClass::CandidateClass>(aDecayClass,aLabel) {}
82
83 // assignment operator(s)
85
86 // member functions
87
88 // const member functions
89// note: The following function can NOT be virtual as its return type changes
90// for DecayClasses
91 const DecayClass& operator()() const ;
92//
93 const DecayClass& particle() const ;
94
95 // static member functions
96
97 protected:
98 // protected member functions
99
100 // protected const member functions
101
102 private:
103 // Constructors and destructor
104
105 // private member functions
106
107 // private const member functions
108
109 // data members
110
111 // static data members
112
113};
114
115// function definitions
116//# include "DecayChain/Element/Template/LabeledDecay.cc"
117
118#endif /* DCHAIN_LABELEDDECAY_H */
const DecayClass & particle() const
const LabeledDecay< DecayClass > & operator=(const LabeledDecay< DecayClass > &aOtherLabeled)
LabeledDecay(const LabeledDecay< DecayClass > &aOtherLabeled)
LabeledDecay(THolder aDecayClass, const typename conjugation::Label aLabel)
const DecayClass & operator()() const