StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StRpsPlane.h
1 /***************************************************************************
2  *
3  * $Id: StRpsPlane.h,v 2.1 2009/11/23 22:18:25 ullrich Exp $
4  *
5  * Author: Thomas Ullrich, Nov 2009
6  ***************************************************************************
7  *
8  * Description:
9  *
10  ***************************************************************************
11  *
12  * $Log: StRpsPlane.h,v $
13  * Revision 2.1 2009/11/23 22:18:25 ullrich
14  * Initial Revision
15  *
16  **************************************************************************/
17 #ifndef StRpsPlane_hh
18 #define StRpsPlane_hh
19 
20 #include "StObject.h"
21 #include "StContainers.h"
22 
23 
24 class StRpsCluster;
25 class StRpsRomanPot;
26 
27 class StRpsPlane : public StObject {
28 public:
29  StRpsPlane();
30  ~StRpsPlane();
31 
32  double offset() const;
33  double z() const;
34  double angle() const;
35  short orientation() const;
36  unsigned char status() const;
37  unsigned int numberOfClusters() const;
38  unsigned int planeId() const;
39 
40  unsigned int romanPotId() const;
41 
42  const StRpsCluster* cluster(unsigned int) const;
43  StRpsCluster* cluster(unsigned int);
44 
45  const StSPtrVecRpsCluster& clusters() const;
46  StSPtrVecRpsCluster& clusters();
47 
48  void addCluster(StRpsCluster*);
49  void setOffset(double);
50  void setZ(double);
51  void setAngle(double);
52  void setOrientation(short);
53  void setStatus(unsigned char);
54 
55 protected:
56  friend class StRpsCollection;
57  void setPlaneId(unsigned char);
58  void setRomanPotId(unsigned char);
59 
60 protected:
61  UChar_t mPlaneId; // 0-3
62  Double_t mOffset;
63  Double_t mZ;
64  Double_t mAngle;
65  Short_t mOrientation;
66  UChar_t mStatus;
67  UChar_t mRomanPotId; // 0-7
68  StSPtrVecRpsCluster mClusters;
69 
70  ClassDef(StRpsPlane,1)
71 };
72 
73 #endif