CGEM BOSS
6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
CDFootPrint.h
Go to the documentation of this file.
1
#ifndef CLEODCHAIN_CDFOOTPRINT_H
2
#define CLEODCHAIN_CDFOOTPRINT_H
3
// -*- C++ -*-
4
//
5
// Package: DChain
6
// Module: CDFootPrint
7
//
8
// Description: keep record of which building-block a CDCandidate uses.
9
//
10
// Usage:
11
// <usage>
12
//
13
// Author: Simon Patton
14
// Created: Wed Oct 30 13:29:19 EST 1996
15
// $Id: CDFootPrint.h,v 1.3 2009/10/14 07:18:50 hujf Exp $
16
//
17
// Revision history
18
// Modified by Sang-Joon Lee 06/26/96
19
//
20
// $Log: CDFootPrint.h,v $
21
// Revision 1.3 2009/10/14 07:18:50 hujf
22
// see ChangeLog
23
//
24
// Revision 1.2 2009/09/22 08:24:41 hujf
25
// see ChangeLog
26
//
27
// Revision 1.1.1.1 2009/03/03 06:05:56 maqm
28
// first import of BesDChain
29
//
30
// Revision 1.1 2001/04/11 13:19:17 urner
31
// transition to files with CD prefix. Addition of new files
32
//
33
// Revision 1.2 2001/03/30 20:13:09 cdj
34
// CDFootPrint now resets its m_numberIssued when the last CDFootPrint is deleted
35
//
36
// Revision 1.1.1.1 2000/12/18 22:17:26 cdj
37
// imported CleoDChain
38
//
39
// Revision 1.12 1998/04/17 18:54:22 sjp
40
// Modified to use latest CLEO types
41
//
42
// Revision 1.11 1997/08/19 23:01:42 sjp
43
// Restructured package to be independent of CleoDChain
44
//
45
// Revision 1.10 1997/08/19 20:42:02 sjp
46
// Updated to use <package>/<file>.h include structure.
47
// (Note: This version of the code has not been compiled)
48
//
49
// Revision 1.9 1997/01/21 20:36:06 sjp
50
// Changed CPP flags and include because of library reorganization
51
//
52
// Revision 1.8 1996/12/20 21:26:59 sjp
53
// major overhaul, and fixed memoery bug
54
//
55
// Revision 1.7 1996/11/04 16:48:31 sjp
56
// Variable length storage is implemented
57
//
58
// Revision 1.4 1996/04/06 02:49:24 sjp
59
// Added equality check and `contains' function
60
//
61
// Revision 1.3 1996/02/27 15:03:57 sjp
62
// Extended Array size to 6 to handle MCParticles
63
//
64
// Revision 1.2 1996/02/20 00:36:15 sjp
65
// Changed 'fresh' to return CDFootPrint, made other return values 'const'
66
//
67
// Revision 1.1 1995/11/09 20:02:10 sjp
68
// New class to keep track of object that have already been `used'.
69
//
70
71
// system include files
72
#include <stdint.h>
73
#include <iostream>
74
75
// user include files
76
77
// forward declarations
78
class
FingerPrint;
79
80
class
CDFootPrint
81
{
82
// friend classses and functions
83
friend
std::ostream&
operator <<
( std::ostream& os,
const
CDFootPrint
& obj );
84
friend
class
FingerPrint
;
85
86
public
:
87
// Constructors and destructor
88
CDFootPrint
() ;
89
CDFootPrint
(
const
CDFootPrint
& ) ;
90
virtual
~CDFootPrint
() ;
91
92
// assignment operator(s)
93
const
CDFootPrint
&
operator=
(
const
CDFootPrint
& );
94
const
CDFootPrint
&
operator+=
(
const
CDFootPrint
& aOtherPrint ) ;
95
96
// member functions
97
CDFootPrint
&
fresh
() ;
98
99
// const member functions
100
bool
operator==
(
const
CDFootPrint
& aOtherPrint )
const
;
101
bool
operator!=
(
const
CDFootPrint
& aOtherPrint )
const
;
102
CDFootPrint
operator+
(
const
CDFootPrint
& aOtherPrint )
const
;
103
bool
overlap
(
const
CDFootPrint
& aOtherPrint)
const
;
104
bool
contains
(
const
CDFootPrint
& aOtherPrint)
const
;
105
106
// static member functions
107
static
void
reset
() ;
108
109
uint32_t
ToUInt32
()
const
{
return
m_array[0]; }
110
// protected const member functions
111
112
private
:
113
// Constructors and destructor
114
115
// private member functions
116
void
resize(
const
uint32_t aNewSize ) ;
117
118
// private const member functions
119
120
// data members
121
uint32_t m_size ;
122
uint32_t* m_array ;
123
124
// static data members
125
static
uint32_t m_numberIssued ;
126
//when number of footprints reaches 0, reset m_numberIssued
127
static
uint32_t m_numberFootprints;
128
129
} ;
130
131
// inline function definitions
132
133
#endif
/* CLEODCHAIN_CDFOOTPRINT_H */
CDFootPrint
Definition:
CDFootPrint.h:81
CDFootPrint::ToUInt32
uint32_t ToUInt32() const
Definition:
CDFootPrint.h:109
CDFootPrint::reset
static void reset()
Definition:
CDFootPrint.cxx:481
CDFootPrint::operator+
CDFootPrint operator+(const CDFootPrint &aOtherPrint) const
Definition:
CDFootPrint.cxx:373
CDFootPrint::operator!=
bool operator!=(const CDFootPrint &aOtherPrint) const
Definition:
CDFootPrint.cxx:365
CDFootPrint::contains
bool contains(const CDFootPrint &aOtherPrint) const
Definition:
CDFootPrint.cxx:420
CDFootPrint::overlap
bool overlap(const CDFootPrint &aOtherPrint) const
Definition:
CDFootPrint.cxx:384
CDFootPrint::FingerPrint
friend class FingerPrint
Definition:
CDFootPrint.h:84
CDFootPrint::operator=
const CDFootPrint & operator=(const CDFootPrint &)
Definition:
CDFootPrint.cxx:148
CDFootPrint::operator+=
const CDFootPrint & operator+=(const CDFootPrint &aOtherPrint)
Definition:
CDFootPrint.cxx:168
CDFootPrint::operator==
bool operator==(const CDFootPrint &aOtherPrint) const
Definition:
CDFootPrint.cxx:310
CDFootPrint::~CDFootPrint
virtual ~CDFootPrint()
Definition:
CDFootPrint.cxx:133
CDFootPrint::operator<<
friend std::ostream & operator<<(std::ostream &os, const CDFootPrint &obj)
Definition:
CDFootPrint.cxx:89
CDFootPrint::fresh
CDFootPrint & fresh()
Definition:
CDFootPrint.cxx:234
CDFootPrint::CDFootPrint
CDFootPrint()
Definition:
CDFootPrint.cxx:106
source
Event
BesDChain
BesDChain-00-00-14
BesDChain
CDFootPrint.h
Generated by
1.9.6