Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaNonTrackingDetector.h
Go to the documentation of this file.
1#ifndef Podd_THaNonTrackingDetector_h_
2#define Podd_THaNonTrackingDetector_h_
3
5//
6// THaNonTrackingDetector.h
7//
9
11
12class TClonesArray;
13
15
16public:
17 THaNonTrackingDetector(); // only for ROOT I/O
18
20
21 virtual void Clear( Option_t* ="" );
22 virtual Int_t CoarseProcess( TClonesArray& tracks ) = 0;
23 virtual Int_t FineProcess( TClonesArray& tracks ) = 0;
24 virtual Bool_t IsTracking() { return false; }
25 virtual Bool_t IsPid() { return false; }
26
27 Int_t GetNTracks() const; // Number of tracks crossing this detector
28 const TClonesArray* GetTrackHits() const { return fTrackProj; }
29
30protected:
31
32 TClonesArray* fTrackProj; // projection of track(s) onto detector plane
33
34 virtual Int_t DefineVariables( EMode mode = kDefine );
36
37 //Only derived classes may construct me
38 THaNonTrackingDetector( const char* name, const char* description,
39 THaApparatus* a = nullptr);
40
41 ClassDef(THaNonTrackingDetector,2) //ABC for a non-tracking spectrometer detector
42};
43
44#endif
#define kDefine
Definition BdataLoc.cxx:38
int Int_t
bool Bool_t
const char Option_t
#define ClassDef(name, id)
const TClonesArray * GetTrackHits() const
virtual Int_t DefineVariables(EMode mode=kDefine)
Int_t CalcTrackProj(TClonesArray &tracks)
virtual Int_t CoarseProcess(TClonesArray &tracks)=0
virtual void Clear(Option_t *="")
virtual Int_t FineProcess(TClonesArray &tracks)=0