Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SQHitVector.h
Go to the documentation of this file.
1 /*
2  * HitVector.h
3  *
4  * Created on: Oct 29, 2017
5  * Author: yuhw@nmsu.edu
6  */
7 
8 #ifndef _H_SQHitVector_H_
9 #define _H_SQHitVector_H_
10 
11 
12 #include <phool/PHObject.h>
13 
14 #include <vector>
15 #include <iostream>
16 
17 #include "SQHit.h"
18 
20 
32 class SQHitVector : public PHObject {
33 
34 public:
35 
36  typedef std::vector<SQHit*> HitVector;
37  typedef std::vector<SQHit*>::const_iterator ConstIter;
38  typedef std::vector<SQHit*>::iterator Iter;
39 
40  virtual ~SQHitVector() {}
41 
42  virtual void identify(std::ostream& os = std::cout) const {
43  os << "SQHitVector base class" << std::endl;
44  }
45  virtual void Reset() {}
46  virtual int isValid() const {return 0;}
47  virtual SQHitVector* Clone() const {return NULL;}
48 
49  virtual bool empty() const {return true;}
50  virtual size_t size() const {return 0;}
51  virtual void clear() {}
52 
53  virtual const SQHit* at(const size_t idkey) const {return nullptr;}
54  virtual SQHit* at(const size_t idkey) {return NULL;}
55  virtual void push_back(const SQHit *hit) {}
56  virtual size_t erase(const size_t idkey) {return 0;}
57 
58  virtual ConstIter begin() const {return HitVector().end();}
59  virtual ConstIter end() const {return HitVector().end();}
60 
61  virtual Iter begin() {return HitVector().end();}
62  virtual Iter end() {return HitVector().end();}
63 
64 protected:
66 
67 private:
68 
69  ClassDef(SQHitVector, 1);
70 };
71 
72 
73 
74 #endif /* _H_SQHitVector_H_ */
virtual void Reset()
Clear Event.
Definition: SQHitVector.h:45
virtual SQHit * at(const size_t idkey)
Definition: SQHitVector.h:54
virtual void clear()
Definition: SQHitVector.h:51
std::vector< SQHit * >::const_iterator ConstIter
Definition: SQHitVector.h:37
An SQ interface class to hold one detector hit.
Definition: SQHit.h:20
virtual ConstIter end() const
Definition: SQHitVector.h:59
#define NULL
Definition: Pdb.h:9
virtual size_t erase(const size_t idkey)
Definition: SQHitVector.h:56
virtual Iter begin()
Definition: SQHitVector.h:61
virtual SQHitVector * Clone() const
Definition: SQHitVector.h:47
std::vector< SQHit * >::iterator Iter
Definition: SQHitVector.h:38
virtual const SQHit * at(const size_t idkey) const
Definition: SQHitVector.h:53
virtual ~SQHitVector()
Definition: SQHitVector.h:40
virtual void push_back(const SQHit *hit)
Definition: SQHitVector.h:55
virtual Iter end()
Definition: SQHitVector.h:62
An SQ interface class to hold a list of SQHit objects.
Definition: SQHitVector.h:32
virtual int isValid() const
isValid returns non zero if object contains vailid data
Definition: SQHitVector.h:46
virtual void identify(std::ostream &os=std::cout) const
Definition: SQHitVector.h:42
virtual size_t size() const
Definition: SQHitVector.h:50
virtual ConstIter begin() const
Definition: SQHitVector.h:58
virtual bool empty() const
Definition: SQHitVector.h:49
std::vector< SQHit * > HitVector
Definition: SQHitVector.h:36