StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtWaferCoordinate.hh
1 /***********************************************************************
2  *
3  * $Id: StSvtWaferCoordinate.hh,v 1.6 2003/09/02 17:57:51 perev Exp $
4  *
5  * Author: Manuel CBS Oct 1999
6  *
7  ************************************************************************
8  *
9  * Description: Svt Wafer Coordinate
10  *
11  ************************************************************************
12  *
13  * $Log: StSvtWaferCoordinate.hh,v $
14  * Revision 1.6 2003/09/02 17:57:51 perev
15  * gcc 3.2 updates + WarnOff
16  *
17  * Revision 1.5 2001/11/06 20:57:03 caines
18  * Add function to get barrel number
19  *
20  * Revision 1.4 2000/08/21 16:16:26 calderon
21  * Helen's first version of Svt Coordinate classes.
22  *
23  * Revision 1.3 2000/02/02 23:16:00 calderon
24  * remove using namespace std
25  *
26  * Revision 1.2 2000/02/02 23:01:38 calderon
27  * Changes for CC5
28  * Tests withs StTpcDb still going.
29  *
30  * Revision 1.1 1999/11/19 19:01:08 calderon
31  * First version of files for StDbUtilities.
32  * Note: this package uses StTpcDb.
33  * There are some parameters
34  * that are not yet kept in StTpcDb. When StTpcDb has them, the code
35  * will be changed to use them from StTpcDb.
36  * There are no Ftpc or Svt Coordinate transformations in here yet.
37  *
38  *
39  ***********************************************************************/
40 #ifndef ST_SVT_WAFER_COORDINATE_HH
41 #define ST_SVT_WAFER_COORDINATE_HH
42 #include <Stiostream.h>
43 
45 {
46 public:
48  StSvtWaferCoordinate(const int, const int, const int, const int, const double, const double);
49 
50  virtual ~StSvtWaferCoordinate();
51  //StSvtWaferCoordinate(const StSvtWaferCoordinate&);
52  //StSvtWaferCoordinate& operator=(cont StSvtWaferCoordinate&);
53 
54  int operator==(const StSvtWaferCoordinate&) const;
55  int operator!=(const StSvtWaferCoordinate&) const;
56 
57  // access functions
58  const int barrel() const;
59  const int layer() const;
60  const int ladder() const;
61  const int wafer() const;
62  const int hybrid() const;
63  const double anode() const;
64  const double timebucket() const;
65 
66  void setLayer(int);
67  void setLadder(int);
68  void setWafer(int);
69  void setHybrid(int);
70  void setAnode(double);
71  void setTimeBucket(double);
72 
73 protected:
74  int mLayer;
75  int mLadder;
76  int mWafer;
77  int mHybrid;
78  double mAnode;
79  double mTimeBucket;
80 };
81 
82 const inline int StSvtWaferCoordinate::barrel()
83  const {return(((mLayer-1)/2)+1);}
84 const inline int StSvtWaferCoordinate::layer() const {return(mLayer);}
85 const inline int StSvtWaferCoordinate::ladder() const {return(mLadder);}
86 const inline int StSvtWaferCoordinate::wafer() const {return(mWafer);}
87 const inline int StSvtWaferCoordinate::hybrid() const {return(mHybrid);}
88 const inline double StSvtWaferCoordinate::anode() const {return(mAnode);}
89 const inline double StSvtWaferCoordinate::timebucket() const {return(mTimeBucket);}
90 inline void StSvtWaferCoordinate::setLayer(int l) {mLayer = l;}
91 inline void StSvtWaferCoordinate::setLadder(int d) {mLadder = d;}
92 inline void StSvtWaferCoordinate::setWafer(int w) {mWafer = w;}
93 inline void StSvtWaferCoordinate::setHybrid(int h) {mHybrid = h;}
94 inline void StSvtWaferCoordinate::setAnode(double a) {mAnode = a;}
95 inline void StSvtWaferCoordinate::setTimeBucket(double t) {mTimeBucket = t;}
96 // Non-member
97 ostream& operator<<(ostream&, const StSvtWaferCoordinate&);
98 
99 #endif