StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPmdCluster.h
1 
5 /**************************************************************
6  *
7  * $Id: StPmdCluster.h,v 1.5 2004/06/24 13:53:41 subhasis Exp $
8  *
9  * Author:
10  **************************************************************
11  *
12  * Description: Base class for PMD cluster
13  *
14  **************************************************************
15 *
16 * $Log: StPmdCluster.h,v $
17 * Revision 1.5 2004/06/24 13:53:41 subhasis
18 * sigmaL, sigmaS introduced
19 *
20 * 2004/06/24 : Cluster SigmaL and SigmaS included
21 * according to new clustering algorithm. Number of
22 * cells changed to Float_t type : Dipak
23 * Revision 1.4 2003/10/14 07:28:48 subhasis
24 * CluX, CluY added
25 *
26 * Revision 1.3 2003/09/02 17:58:49 perev
27 * gcc 3.2 updates + WarnOff
28 *
29 * Revision 1.2 2003/05/12 12:07:12 subhasis
30 * Mapping added
31 *
32 *
33 ***************************************************************/
34 #ifndef STAR_StPmdCluster
35 #define STAR_StPmdCluster
36 
37 #include <math.h>
38 #include <Stiostream.h>
39 #include "TArrayI.h"
40 #include "StObject.h"
41 #include "StPmdUtil/StPmdGeom.h"
42 #include "StPmdUtil/StPmdHit.h"
43 
44 
45 class StPmdCluster : public StObject {
46 
47 private:
49  Int_t mModule; // supermodule no
50  // Int_t mNumofMems; // no. of cells in the cluster
51  Float_t mNumofMems; // no. of cells in the cluster
52  Float_t mCluEta; // cluster eta
53  Float_t mCluPhi; // cluster phi
54  Float_t mCluEdep; // cluster edep
55  Float_t mCluSigmaL; // sigma of the cluster along large axis
56  Float_t mCluSigmaS; // sigma of the cluster along small axis
57  Int_t mCluPID; // cluster PID based on matching
58  Int_t mCluEdepPID; // clusterPID based on edep
59  Int_t mMcCluPID ; // Mantecarlo cluster ID
60  Float_t mCluX;
61  Float_t mCluY;
62  TObjArray mHitCollection; // hits collection
63 public:
64  StPmdCluster();
65  StPmdCluster(TArrayI*);
66  ~StPmdCluster();
67 
70  Int_t Module() const;
71  // Int_t NumofMems() const; //! number of cells in the cluster
72  Float_t NumofMems() const;
73  Float_t CluEta() const;
74  Float_t CluPhi() const;
75  Float_t CluEdep() const;
76  Float_t CluSigmaL() const;
77  Float_t CluSigmaS() const;
78  Int_t CluEdepPID() const;
79  Int_t CluPID() const;
80  Int_t McCluPID() const;
81 
82  Float_t CluX() const;
83  Float_t CluY() const;
84 
85  TObjArray* HitCollection();
86 
87  void setModule(Int_t);
88  // void setNumofMems(Int_t);
89  void setNumofMems(Float_t); // Cell number as float
90  void setCluEta(Float_t);
91  void setCluPhi(Float_t);
92  void setCluEdep(Float_t);
93  void setCluSigmaL(Float_t); //Large
94  void setCluSigmaS(Float_t);//Small
95  void setCluEdepPID(Int_t);
96  void setCluPID(Int_t);
97  void setMcCluPID(Int_t);
98  void setCluX(Float_t);
99  void setCluY(Float_t);
100 
101 
102  void addHitCollection(StPmdHit*);
103 
104  virtual void Browse(TBrowser *b);
105  virtual void print(ostream *os);
106 
107  ClassDef(StPmdCluster,1)// Base class for PMD cluster
108 };
109 
110 ostream &operator<<(ostream&, StPmdCluster&); // Printing operator
111 
112 inline StPmdCluster::~StPmdCluster(){ /* Nobody */ }
113 
114 inline Int_t StPmdCluster::Module() const {return mModule;}
115 //inline Int_t StPmdCluster::NumofMems() const {return mNumofMems;}
116 inline Float_t StPmdCluster::NumofMems() const {return mNumofMems;}
117 inline Float_t StPmdCluster::CluEta() const {return mCluEta;}
118 inline Float_t StPmdCluster::CluPhi() const {return mCluPhi;}
119 inline Float_t StPmdCluster::CluEdep() const {return mCluEdep;}
120 inline Float_t StPmdCluster::CluSigmaL() const {return mCluSigmaL;}//Large
121 inline Float_t StPmdCluster::CluSigmaS() const {return mCluSigmaS;} //Small
122 inline Int_t StPmdCluster::CluEdepPID() const {return mCluEdepPID;}
123 inline Int_t StPmdCluster::CluPID() const {return mCluPID;}
124 inline Int_t StPmdCluster::McCluPID() const {return mMcCluPID;}
125 inline Float_t StPmdCluster::CluX() const {return mCluX;}
126 inline Float_t StPmdCluster::CluY() const {return mCluY;}
127 
128 inline void StPmdCluster::setModule(Int_t var) {mModule=var;}
129 //inline void StPmdCluster::setNumofMems(Int_t var) {mNumofMems=var;}
130 inline void StPmdCluster::setNumofMems(Float_t var) {mNumofMems=var;}
131 inline void StPmdCluster::setCluEta(Float_t var) {mCluEta=var;}
132 inline void StPmdCluster::setCluPhi(Float_t var) {mCluPhi=var;}
133 inline void StPmdCluster::setCluEdep(Float_t var) {mCluEdep=var;}
134 inline void StPmdCluster::setCluSigmaL(Float_t var) {mCluSigmaL=var;}//Large
135 inline void StPmdCluster::setCluSigmaS(Float_t var) {mCluSigmaS=var;}//Small
136 inline void StPmdCluster::setCluEdepPID(Int_t var) {mCluEdepPID=var;}
137 inline void StPmdCluster::setCluPID(Int_t var) {mCluPID=var;}
138 inline void StPmdCluster::setMcCluPID(Int_t var) {mMcCluPID=var;}
139 inline void StPmdCluster::setCluX(Float_t var) {mCluX=var;}
140 inline void StPmdCluster::setCluY(Float_t var) {mCluY=var;}
141 
142 inline TObjArray* StPmdCluster::HitCollection() {return &mHitCollection;}
143 #endif
144 
145 
146 
147 
148 
149 
150 
Int_t Module() const
destructor
Definition: StPmdCluster.h:114
Float_t CluEdep() const
cluster phi
Definition: StPmdCluster.h:119
Int_t CluPID() const
cluster PID based on Edep
Definition: StPmdCluster.h:123
Int_t CluEdepPID() const
cluster sigma Small
Definition: StPmdCluster.h:122
virtual void print(ostream *os)
Float_t CluPhi() const
cluster eta
Definition: StPmdCluster.h:118
Float_t CluSigmaL() const
cluster edep
Definition: StPmdCluster.h:120
void setModule(Int_t)
hit collection
Definition: StPmdCluster.h:128
~StPmdCluster()
constructor
Definition: StPmdCluster.h:112
Int_t McCluPID() const
cluster PID based on CPV/PMD matching
Definition: StPmdCluster.h:124
Float_t NumofMems() const
for Supermodule number
Definition: StPmdCluster.h:116
Float_t CluEta() const
number of cells in the cluster as float
Definition: StPmdCluster.h:117
Float_t CluSigmaS() const
cluster sigma Large
Definition: StPmdCluster.h:121
Float_t CluX() const
cluster PID based on Mantecarlo
Definition: StPmdCluster.h:125