Hall C ROOT/C++ Analyzer (hcana)
Loading...
Searching...
No Matches
THcDriftChamberPlane.h
Go to the documentation of this file.
1#ifndef ROOT_THcDriftChamberPlane
2#define ROOT_THcDriftChamberPlane
3
5//
6// THcDriftChamberPlane
7//
8// A Hall C scintillator plane
9//
10// May want to later inherit from a THcPlane class if there are similarities
11// in what a plane is shared with other detector types (shower, etc.)
12//
14
15#include "THaSubDetector.h"
16#include "TClonesArray.h"
17#include <cassert>
18
19class THaEvData;
20class THcDCWire;
21class THcDCHit;
23class THcHodoscope;
24
25/*class THaSignalHit;*/
26
28
29public:
30 THcDriftChamberPlane( const char* name, const char* description,
31 Int_t planenum, THaDetectorBase* parent = NULL);
32 virtual ~THcDriftChamberPlane();
33
34 virtual void Clear( Option_t* opt="" );
35 virtual Int_t Decode( const THaEvData& );
36 virtual EStatus Init( const TDatime& run_time );
37
38 virtual Int_t CoarseProcess( TClonesArray& tracks );
39 virtual Int_t FineProcess( TClonesArray& tracks );
40 Bool_t IsTracking() { return kFALSE; }
41 virtual Bool_t IsPid() { return kFALSE; }
42
43 virtual Int_t ProcessHits(TClonesArray* rawhits, Int_t nexthit);
44
45 virtual Int_t SubtractStartTime();
46
47 virtual Int_t GetReadoutSide(Int_t wirenum);
48
49 // Get and Set functions
50 Int_t GetNWires() const { return fWires->GetLast()+1; }
52 { assert( i>=1 && i<=GetNWires() );
53 return (THcDCWire*)fWires->UncheckedAt(i-1); }
54
55 Int_t GetNHits() const { return fHits->GetLast()+1; }
56 Int_t GetNRawhits() const {return fNRawhits; }
57 TClonesArray* GetHits() const { return fHits; }
58
59 Int_t GetPlaneNum() const { return fPlaneNum; }
60 Int_t GetChamberNum() const { return fChamberNum; }
63 Double_t GetXsp() const { return fXsp; }
64 Double_t GetYsp() const { return fYsp; }
69 Double_t GetBeta() { return fBeta; }
70 Double_t GetSigma() { return fSigma; }
71 Double_t GetPsi0() { return fPsi0; }
74 THcDriftChamberPlane(); // for ROOT I/O
76 Int_t GetReadoutLR() const { return fReadoutLR;}
77 Int_t GetReadoutTB() const { return fReadoutTB;}
78 Int_t GetVersion() const {return fVersion;}
79
82
83protected:
84
86
91
93
97 Int_t fPlaneIndex; /* Index of this plane within it's chamber */
115
122
124
125 Double_t fNSperChan; /* TDC bin size */
126
129
130 virtual Int_t ReadDatabase( const TDatime& date );
131 virtual Int_t DefineVariables( EMode mode = kDefine );
132
133 THcDCTimeToDistConv* fTTDConv; // Time-to-distance converter for this plane's wires
134
135 THcHodoscope* fglHod; // Hodoscope to get start time
136
137 ClassDef(THcDriftChamberPlane,0); // A single plane within a THcDriftChamber
138};
139#endif
140
141
int Int_t
bool Bool_t
const Bool_t kFALSE
double Double_t
const char Option_t
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
string::size_type pos
Drift chamber wire hit info.
Definition THcDCHit.h:16
Base class for algorithms to convert time into perpendicular drift distance.
Class representing a drift chamber wire.
Definition THcDCWire.h:13
Class for a a single Hall C horizontal drift chamber plane.
virtual void Clear(Option_t *opt="")
Double_t CalcWireFromPos(Double_t pos)
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual Int_t FineProcess(TClonesArray &tracks)
THcDriftChamberPlane(const char *name, const char *description, Int_t planenum, THaDetectorBase *parent=NULL)
TClonesArray * GetHits() const
virtual Int_t Decode(const THaEvData &)
THcDCWire * GetWire(Int_t i) const
ClassDef(THcDriftChamberPlane, 0)
virtual Int_t CoarseProcess(TClonesArray &tracks)
virtual Int_t GetReadoutSide(Int_t wirenum)
THcDCTimeToDistConv * fTTDConv
virtual Int_t ProcessHits(TClonesArray *rawhits, Int_t nexthit)
virtual Int_t ReadDatabase(const TDatime &date)
void SetPlaneIndex(Int_t index)
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends.
TObject * UncheckedAt(Int_t i) const
Int_t GetLast() const override