ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/StripHit.h
Revision: 1.1
Committed: Tue Nov 24 23:05:12 2009 UTC (15 years, 5 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Added StripHit.h

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: StripHit.h,v 1.4 2009/11/17 21:14:33 loizides Exp $
3 //
4 // StripHit
5 //
6 // StripHit class implemented as a point in space holding fit error and additional information.
7 //
8 // Authors: C.Loizides
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITANA_DATATREE_PIXELHIT_H
12 #define MITANA_DATATREE_PIXELHIT_H
13
14 #include "MitCommon/DataFormats/interface/Vect3.h"
15 #include "MitAna/DataTree/interface/DataObject.h"
16 #include <TMath.h>
17
18 namespace mithep
19 {
20 class StripHit : public DataObject
21 {
22 public:
23 enum EType {
24 kUnknown=0,
25 kTIB,
26 kTOB,
27 kTID,
28 kTEC
29 };
30
31 StripHit() : fType(0), fGeoType(0), fCharge(0), fSizeX(0), fSizeY(0) {}
32 StripHit(Double_t x, Double_t y, Double_t z) :
33 fPosition(x,y,z), fType(0), fGeoType(0), fCharge(0), fSizeX(0), fSizeY(0) {}
34 StripHit(const ThreeVector &pos) :
35 fPosition(pos), fType(0), fGeoType(0), fCharge(0), fSizeX(0), fSizeY(0) {}
36
37 UInt_t Charge() const { return fCharge; }
38 Int_t GeoType() const { return fGeoType; }
39 EObjType ObjType() const { return kStripHit; }
40 const ThreeVector Position() const { return fPosition.V(); }
41 void SetCharge(UInt_t u) { fCharge = u; }
42 void SetGeoType(Int_t u) { fGeoType = u; }
43 void SetPosition(const ThreeVector &pos) { fPosition = pos; }
44 void SetPosition(Double_t x, Double_t y, Double_t z);
45 void SetSizeX(UInt_t u) { fSizeX = u; }
46 void SetSizeY(UInt_t u) { fSizeY = u; }
47 void SetType(Char_t t) { fType = t; }
48 UInt_t SizeX() const { return fSizeX; }
49 UInt_t SizeY() const { return fSizeY; }
50 EType Type() const
51 { return static_cast<EType>(fType); }
52 Double_t X() const { return fPosition.X(); }
53 Double_t Y() const { return fPosition.Y(); }
54 Double_t Z() const { return fPosition.Z(); }
55
56 protected:
57 Vect3 fPosition; //point in space
58 Char_t fType; //strip type
59 Int_t fGeoType; //geometrical characteristics (layer, disk, side)
60 UInt_t fCharge; //charge of assigned cluster
61 UInt_t fSizeX; //size in local x of assigned cluster
62 UInt_t fSizeY; //size in local y of assigned cluster
63
64 ClassDef(StripHit, 1) // StripHit class
65 };
66 }
67
68 //--------------------------------------------------------------------------------------------------
69 inline void mithep::StripHit::SetPosition(Double_t x, Double_t y, Double_t z)
70 {
71 // Set pixel hit position.
72
73 fPosition.SetXYZ(x,y,z);
74 }
75 #endif