StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StTofCollection.h
1 
5 /***************************************************************************
6  *
7  * $Id: StTofCollection.h,v 2.10 2008/06/03 17:41:05 ullrich Exp $
8  *
9  * Author: Thomas Ullrich, Dec 2000
10  ***************************************************************************
11  *
12  * Description:
13  *
14  * Persistent data which is written into StEvent
15  * directly from the reco chain. All ToF stuff goes here
16  * except the StTofPidTraits and the StTofSoftwareMonitor.
17  *
18  ***************************************************************************
19  *
20  * $Log: StTofCollection.h,v $
21  * Revision 2.10 2008/06/03 17:41:05 ullrich
22  * Add new member vzVpd and related access methods.
23  *
24  * Revision 2.9 2007/04/03 18:16:48 ullrich
25  * Add new data members and methods in preperation for new ToF.
26  *
27  * Revision 2.8 2005/04/11 22:35:25 calderon
28  * Tof Classes for Run 5. Modifications and additions from Xin to
29  * take care of new TOF daq and electronics. Added StTofRawData and
30  * modified containers and includes.
31  *
32  * Revision 2.7 2003/05/23 20:06:12 ullrich
33  * Restore plural for data members.
34  *
35  * Revision 2.6 2003/05/23 16:10:59 ullrich
36  * Changed name of access functions.
37  *
38  * Revision 2.5 2003/05/21 18:22:46 ullrich
39  * Major Revision of ToF classes (F. Geurts)
40  *
41  * Revision 2.4 2002/02/22 22:56:51 jeromel
42  * Doxygen basic documentation in all header files. None of this is required
43  * for QM production.
44  *
45  * Revision 2.3 2001/10/01 19:40:58 ullrich
46  * Added methods and members for StTofData.
47  *
48  * Revision 2.2 2001/04/24 18:20:13 ullrich
49  * Added hits and slats to collection.
50  *
51  * Revision 2.1 2000/12/08 03:52:43 ullrich
52  * Initial Revision
53  *
54  **************************************************************************/
55 #ifndef StTofCollection_hh
56 #define StTofCollection_hh
57 
58 #include "StObject.h"
59 #include "StContainers.h"
60 #include "StEnumerations.h"
61 #include "StTofHit.h"
62 #include "StTofCell.h"
63 #include "StTofSlat.h"
64 #include "StTofData.h"
65 #include "StTofRawData.h"
66 
67 class StTofCollection : public StObject {
68 public:
70  ~StTofCollection();
71 
72  unsigned int numberOfVpdEast() const;
73  unsigned int numberOfVpdWest() const;
74  unsigned int vpdEast() const;
75  unsigned int vpdWest() const;
76  float tstart() const;
77  float tdiff() const;
78  float vzVpd() const;
79 
80  void setVpdEast(unsigned int);
81  void setVpdWest(unsigned int);
82  void setTstart(float);
83  void setTdiff(float);
84  void setVzVpd(float);
85 
86  const StSPtrVecTofCell& tofCells() const;
87  StSPtrVecTofCell& tofCells();
88 
89  const StSPtrVecTofSlat& tofSlats() const;
90  StSPtrVecTofSlat& tofSlats();
91 
92  const StSPtrVecTofHit& tofHits() const;
93  StSPtrVecTofHit& tofHits();
94 
95  const StSPtrVecTofData& tofData() const;
96  StSPtrVecTofData& tofData();
97 
98  const StSPtrVecTofRawData& tofRawData() const;
99  StSPtrVecTofRawData& tofRawData();
100 
101  void addSlat(const StTofSlat*);
102  void addCell(const StTofCell*);
103  void addHit(const StTofHit*);
104  void addData(const StTofData*);
105  void addRawData(const StTofRawData*);
106 
107  bool cellsPresent() const;
108  bool slatsPresent() const;
109  bool hitsPresent() const;
110  bool dataPresent() const;
111  bool rawdataPresent() const;
112 
113 private:
114  UInt_t mVpdEast;
115  UInt_t mVpdWest;
116  Float_t mTstart;
117  Float_t mTdiff;
118  Float_t mVzVpd;
119 
120  StSPtrVecTofSlat mTofSlats;
121  StSPtrVecTofCell mTofCells;
122  StSPtrVecTofHit mTofHits;
123  StSPtrVecTofData mTofData;
124  StSPtrVecTofRawData mTofRawData;
125 
126  ClassDef(StTofCollection, 6)
127 };
128 
129 inline unsigned int StTofCollection::vpdEast() const { return mVpdEast; }
130 
131 inline unsigned int StTofCollection::vpdWest() const { return mVpdWest; }
132 
133 inline void StTofCollection::setVpdEast(unsigned int i) { mVpdEast = i; }
134 
135 inline void StTofCollection::setVpdWest(unsigned int i) { mVpdWest = i; }
136 
137 inline float StTofCollection::tstart() const { return mTstart; }
138 
139 inline float StTofCollection::tdiff() const { return mTdiff; }
140 
141 inline float StTofCollection::vzVpd() const { return mVzVpd; }
142 
143 inline void StTofCollection::setTstart(float t) { mTstart = t; }
144 
145 inline void StTofCollection::setTdiff(float t) { mTdiff = t;}
146 
147 inline void StTofCollection::setVzVpd(float vz) { mVzVpd = vz; }
148 
149 #endif