StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMuFgtStrip.h
1 /***************************************************************************
2  *
3  * $Id: StMuFgtStrip.h,v 1.3 2018/01/04 17:36:47 smirnovd Exp $
4  * Author: S. Gliske, Jan 2012
5  *
6  ***************************************************************************
7  *
8  * Description: data for individual strip of the FGT. At time of
9  * creation was a nearly identical copy to the StFgtStrip class, but
10  * without the StObject inheritance.
11  *
12  ***************************************************************************
13  *
14  * $Log: StMuFgtStrip.h,v $
15  * Revision 1.3 2018/01/04 17:36:47 smirnovd
16  * [Cosmetic] Remove StRoot/ from include path
17  *
18  * $STAR/StRoot is already in the default path search
19  *
20  * Revision 1.2 2013/01/08 22:57:33 sangalin
21  * Merged in FGT changes allowing for a variable number of timebins to be read out for each strip.
22  *
23  * Revision 1.1 2012/11/15 22:27:24 sangalin
24  * Copied over from StFgtDevel.
25  *
26  * Revision 1.10 2012/07/20 16:11:24 sgliske
27  * Added StFgtStripAssociation, and removed all dynamically
28  * allocated memory from StMuFgt* containers.
29  * Also removed StMuFgtInfo
30  *
31  * Revision 1.9 2012/04/13 18:56:31 sgliske
32  * More adjustments based on the review:
33  * - Lastest StEvents from Thomas U.
34  * - StFgtA2CMaker can no longer remove strips other than bad status or bad ped
35  * - other related updates
36  *
37  * Revision 1.8 2012/03/20 19:58:33 sgliske
38  * fixed 'get' functions
39  *
40  * Revision 1.7 2012/03/07 19:21:01 sgliske
41  * updated based on changes to StEvent
42  *
43  * Revision 1.6 2012/03/07 15:23:53 sgliske
44  * StFgtStrip no longer has a type field
45  *
46  * Revision 1.5 2012/01/30 16:38:04 sgliske
47  * updated class def number
48  *
49  * Revision 1.4 2012/01/30 11:40:05 sgliske
50  * a2cMaker now fits the pulse shape,
51  * strip containers updated
52  *
53  * Revision 1.3 2012/01/30 10:42:23 sgliske
54  * strip containers now contain adc values for
55  * all time bins. Also fixed bug where setType modified the timebin
56  * rather than the type.
57  *
58  * Revision 1.2 2012/01/04 22:34:56 sgliske
59  * Fixed some bugs
60  *
61  * Revision 1.1 2012/01/04 19:15:34 sgliske
62  * Reintroduced support for the FGT in MuDst
63  *
64  *
65  **************************************************************************/
66 
67 #ifndef _ST_MU_FGT_STRIP_H_
68 #define _ST_MU_FGT_STRIP_H_
69 
70 #include <TObject.h>
71 #include "StFgtUtil/StFgtConsts.h"
72 
73 class StFgtStrip;
74 
75 class StMuFgtStrip : public TObject {
76  public:
77  // constructors
78  StMuFgtStrip();
79 
80  // to convert from StFgtStrips
81  StMuFgtStrip( const StFgtStrip& other );
82  StMuFgtStrip& operator=(const StFgtStrip& other );
83 
84  // defaults
85  // StMuFgtStrip(const StMuFgtStrip&); use default
86  // StMuFgtStrip& operator=(const StMuFgtStrip&); use default
87  // ~StMuFgtStrip(); use default
88 
89  // accessors
90  Int_t getGeoId() const;
91  Int_t getAdcStartIdx() const;
92  Short_t getNumSavedTimeBins() const;
93  Short_t getClusterSeedType() const;
94  Float_t getCharge() const;
95  Float_t getChargeUncert() const;
96 
97  // modifiers
98  void setGeoId ( Int_t geoId );
99  void setAdcInfo ( Int_t adcIdx, Short_t numAdc );
100  void setClusterSeedType ( Short_t type );
101  void setCharge ( Float_t charge );
102  void setChargeUncert ( Float_t uncert );
103 
104  protected:
105  // data members
106  Int_t mGeoId; // indexing: 6 disk * 4 quad * 2 planes * 720 strips
107  Int_t mAdcStartIdx; // index of ADC for first time bin in the ADC TClonesArray
108  Short_t mNumSavedTimeBins; // the number of time bins saved in the ADC TClonesArray for this strip
109  Short_t mClusterSeedType; // as defined in StEvent/StEnumerations.h
110  Float_t mCharge; // before GEM, units (C), relation: ADC = ped + charge*gain(r,phi,disc)
111  Float_t mChargeUncert; //
112 
113  private:
114  ClassDef(StMuFgtStrip,5);
115 };
116 
117 // inline functions
118 
119 inline Int_t StMuFgtStrip::getGeoId() const { return mGeoId; };
120 inline Int_t StMuFgtStrip::getAdcStartIdx() const { return mAdcStartIdx; };
121 inline Short_t StMuFgtStrip::getNumSavedTimeBins()const { return mNumSavedTimeBins; };
122 inline Float_t StMuFgtStrip::getCharge() const { return mCharge; };
123 inline Float_t StMuFgtStrip::getChargeUncert() const { return mChargeUncert; };
124 inline Short_t StMuFgtStrip::getClusterSeedType() const { return mClusterSeedType; };
125 
126 inline void StMuFgtStrip::setGeoId ( Int_t geoId ){ mGeoId = geoId; };
127 inline void StMuFgtStrip::setCharge ( Float_t charge ){ mCharge = charge; };
128 inline void StMuFgtStrip::setChargeUncert ( Float_t charge ){ mCharge = charge; };
129 inline void StMuFgtStrip::setClusterSeedType ( Short_t type ){ mClusterSeedType = type; };
130 
131 inline void StMuFgtStrip::setAdcInfo( Int_t adcIdx, Short_t numAdc ) { mAdcStartIdx = adcIdx; mNumSavedTimeBins = numAdc; };
132 
133 #endif
134