StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtLocalCoordinate.hh
1 /***********************************************************************
2  *
3  * $Id: StSvtLocalCoordinate.hh,v 1.5 2007/03/21 16:41:07 fisyak Exp $
4  *
5  * Author: Manuel CBS Oct 1999
6  *
7  ************************************************************************
8  *
9  * Description: Svt Local Coordinate
10  *
11  ************************************************************************
12  *
13  * $Log: StSvtLocalCoordinate.hh,v $
14  * Revision 1.5 2007/03/21 16:41:07 fisyak
15  * Use Ivan Kotov's drift velocities
16  *
17  * Revision 1.4 2003/09/02 17:57:51 perev
18  * gcc 3.2 updates + WarnOff
19  *
20  * Revision 1.3 2000/08/21 16:16:26 calderon
21  * Helen's first version of Svt Coordinate classes.
22  *
23  * Revision 1.2 2000/02/02 23:01:38 calderon
24  * Changes for CC5
25  * Tests withs StTpcDb still going.
26  *
27  * Revision 1.1 1999/11/19 19:01:08 calderon
28  * First version of files for StDbUtilities.
29  * Note: this package uses StTpcDb.
30  * There are some parameters
31  * that are not yet kept in StTpcDb. When StTpcDb has them, the code
32  * will be changed to use them from StTpcDb.
33  * There are no Ftpc or Svt Coordinate transformations in here yet.
34  *
35  *
36  ***********************************************************************/
37 #ifndef ST_SVT_LOCAL_COORDINATE_HH
38 #define ST_SVT_LOCAL_COORDINATE_HH
39 #include <Stiostream.h>
40 
41 #include "StThreeVector.hh"
42 
44  public:
46  StSvtLocalCoordinate(const double, const double, const double);
48 
49  virtual ~StSvtLocalCoordinate();
50 
51  int operator==(const StSvtLocalCoordinate&) const;
52  int operator!=(const StSvtLocalCoordinate&) const;
53 
54  // access functions provided by StThreeVector
55  const StThreeVector<double>& position() const { return(mPosition); }
56  StThreeVector<double>& position() { return(mPosition); }
57  const int barrel() const {return((mLayer-1)/2+1);}
58  const int layer() const {return(mLayer);}
59  const int ladder() const {return(mLadder);}
60  const int wafer() const {return(mWafer);}
61  const int hybrid() const {return(mHybrid);}
62  void setPosition(const StThreeVector<double>& val) { mPosition = val; }
63  void setLayer(int l) {mLayer = l;}
64  void setLadder(int d) {mLadder = d;}
65  void setWafer(int w) {mWafer = w;}
66  void setHybrid(int h) {mHybrid = h;}
67  protected:
68  StThreeVector<double> mPosition;
69  int mLayer;
70  int mLadder;
71  int mWafer;
72  int mHybrid;
73 };
74 ostream& operator<<(ostream&, const StSvtLocalCoordinate&);
75 #endif
76