StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StRpsCollection.h
1 /***************************************************************************
2  *
3  * $Id: StRpsCollection.h,v 2.3 2015/10/02 19:50:50 ullrich Exp $
4  *
5  * Author: Thomas Ullrich, Nov 2009
6  ***************************************************************************
7  *
8  * Description:
9  *
10  ***************************************************************************
11  *
12  * $Log: StRpsCollection.h,v $
13  * Revision 2.3 2015/10/02 19:50:50 ullrich
14  * Added containers for tracks and points.
15  *
16  * Revision 2.2 2010/02/04 18:16:09 ullrich
17  * Added new member mSiliconBunch and referring access methods.
18  *
19  * Revision 2.1 2009/11/23 22:18:25 ullrich
20  * Initial Revision
21  *
22  **************************************************************************/
23 #ifndef StRpsCollection_hh
24 #define StRpsCollection_hh
25 
26 #include "StObject.h"
27 #include "StContainers.h"
28 #include "StRpsRomanPot.h"
29 #include "StRpsTrackPoint.h"
30 #include "StRpsTrack.h"
31 
32 class StRpsCollection : public StObject {
33 public:
35  ~StRpsCollection();
36 
37  unsigned int numberOfRomanPots() const;
38 
39  const StRpsRomanPot* romanPot(unsigned int) const;
40  StRpsRomanPot* romanPot(unsigned int);
41 
42  StPtrVecRpsCluster clusters() const;
43  StPtrVecRpsTrackPoint trackPoints() const;
44  StPtrVecRpsTrack tracks() const;
45  unsigned char siliconBunch() const;
46 
47  void setSiliconBunch(unsigned char);
48  void addTrackPoint(const StRpsTrackPoint*);
49  void addTrack(const StRpsTrack*);
50 
51  enum {mNumberOfRomanPots = 8};
52 
53 private:
54  StRpsRomanPot mRomanPots[mNumberOfRomanPots];
55  UChar_t mSiliconBunch;
56 
57  StSPtrVecRpsTrackPoint mTrackPoints;
58  StSPtrVecRpsTrack mTracks;
59 
60  ClassDef(StRpsCollection, 3)
61 };
62 
63 
64 inline void StRpsCollection::addTrackPoint(const StRpsTrackPoint *trackPoint) {
65  mTrackPoints.push_back(trackPoint);
66 }
67 inline void StRpsCollection::addTrack(const StRpsTrack *track) {
68  mTracks.push_back(track);
69 }
70 
71 #endif
72