StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StTrsWireBinEntry.hh
1 /***************************************************************************
2  *
3  * $Id: StTrsWireBinEntry.hh,v 1.9 2004/04/07 18:56:26 perev Exp $
4  *
5  * Author: brian, May 1998
6  ***************************************************************************
7  *
8  * Description: Results from transport of a single StTrsMiniChargeSegment
9  *
10  ***************************************************************************
11  *
12  * $Log: StTrsWireBinEntry.hh,v $
13  * Revision 1.9 2004/04/07 18:56:26 perev
14  * Improve alignment
15  *
16  * Revision 1.8 2003/12/24 13:44:52 fisyak
17  * Add (GEANT) track Id information in Trs; propagate it via St_tpcdaq_Maker; account interface change in StTrsZeroSuppressedReaded in StMixerMaker
18  *
19  * Revision 1.7 2003/09/02 17:59:16 perev
20  * gcc 3.2 updates + WarnOff
21  *
22  * Revision 1.6 2000/07/30 02:42:10 long
23  * add d()
24  *
25  * Revision 1.5 2000/06/23 00:12:24 snelling
26  * Removed dependence on local files now pointed to StDbUtilities
27  *
28  * Revision 1.4 2000/02/24 16:39:52 long
29  * add sigmaL(),sigmaT()
30  *
31  * Revision 1.3 1999/06/16 14:26:51 fisyak
32  * Add flags for egcs on Solaris
33  *
34  * Revision 1.2 1999/01/18 10:17:54 lasiuk
35  * constructor by reference
36  * set functions by reference
37  *
38  * Revision 1.1 1998/11/10 17:12:13 fisyak
39  * Put Brian trs versin into StRoot
40  *
41  * Revision 1.2 1998/11/03 15:58:38 lasiuk
42  * added set member functions
43  * added scaleNumberOfElectrons()
44  *
45  * Revision 1.1 1998/06/04 23:32:21 lasiuk
46  * Initial Revision
47  *
48  **************************************************************************/
49 #ifndef ST_TRS_WIRE_BIN_ENTRY_HH
50 #define ST_TRS_WIRE_BIN_ENTRY_HH
51 #include <Stiostream.h>
52 
53 #if defined(__sun) && ! defined(__GNUG__)
54 #include <stdcomp.h> // bool type
55 #endif
56 
57 #include "StThreeVector.hh"
58 #include "StDbUtilities/StGlobalCoordinate.hh"
59 
61 public:
62  StTrsWireBinEntry(StThreeVector<double>&, float,double,double,double *, int);
64  //StTrsWireBinEntry(const StTrsWireBinEntry&);
65  //StTrsWireBinEntry& operator=(cont StTrsWireBinEntry&);
66 
67  // access functions
68  const StThreeVector<double>& position() const;
69  float numberOfElectrons() const;
70  double sigmaL();
71  double sigmaT();
72  double * d();
73 
74  StThreeVector<double>& position() ;
75  int id() const {return mId;}
76  void setNumberOfElectrons(float) ;
77  void scaleNumberOfElectrons(float);
78 
79 #ifdef ST_NO_TEMPLATE_DEF_ARGS
80  StTrsWireBinEntry(); // needed for allocator
81 #endif
82 
83 private:
84  StThreeVector<double> mPosition;
85  double mSigmaL;
86  double mSigmaT;
87  double mD[3];
88  float mNumberOfElectrons;
89  int mId;
90 };
91 inline const StThreeVector<double>&
92 StTrsWireBinEntry::position() const {return mPosition;}
93 inline float StTrsWireBinEntry::numberOfElectrons() const {return mNumberOfElectrons;}
94 inline StThreeVector<double>& StTrsWireBinEntry::position() {return mPosition;}
95 void inline StTrsWireBinEntry::setNumberOfElectrons(float num) { mNumberOfElectrons = num;}
96 
97 //Non Member Function
98 ostream& operator<<(ostream& os, const StTrsWireBinEntry& entry);
99 #endif