/[PAMELA software]/DarthVader/TrackerLevel2/inc/ExtTrkingAlg.h
ViewVC logotype

Annotation of /DarthVader/TrackerLevel2/inc/ExtTrkingAlg.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Thu Feb 27 11:24:42 2014 UTC (10 years, 9 months ago) by pam-fi
Branch: MAIN
File MIME type: text/plain
Added new tracking algorythm

1 pam-fi 1.1 /**
2     * \file ExtTrkingAlg.h
3     * \author Elena Vannuccini
4     */
5     #ifndef exttrkingalg_h
6     #define exttrkingalg_h
7    
8     // PAMELA classes
9     #include <TrkLevel1.h>
10     #include <TrkLevel2.h>
11    
12     #include <ToFLevel2.h>
13    
14     #include <CaloLevel1.h>
15     #include <CaloLevel2.h>
16    
17     //#include <ExtTrack.h>
18    
19     // ROOT classes
20     #include <TClonesArray.h>
21    
22    
23    
24     #include <stdlib.h>
25     #include <map>
26     #include <iostream>
27     #include <iomanip>
28    
29     class ExtTrkingAlg : public TObject {
30    
31     private:
32    
33     Int_t _whichAlg; ///< algorythm id
34    
35    
36     TClonesArray *_trkArray; ///< array of tracks
37    
38     TrkLevel1* _trk_l1;
39     TrkLevel2* _trk_l2;
40    
41     CaloLevel1* _cal_l1;
42     CaloLevel2* _cal_l2;
43    
44     ToFLevel2* _tof_l2;
45    
46    
47     Int_t _sel_nClstrMAX; ///< selection parameter: maximum number of cluster
48     Int_t _sel_nPlaneXMIN; ///< selection parameter: minimum number of hit x-views
49     Int_t _sel_nPlaneYMIN; ///< selection parameter: minimum number of hit y-views
50    
51     Int_t _alg_nClFixX; ///< algorythm parameter: n.hits required on X view
52     Int_t _alg_nClFixY; ///< algorythm parameter:n.hits required on X view
53     Int_t _alg_nTrackMAX; ///< algorythm parameter: maximum num. of track candidates
54    
55     Bool_t _debug;
56    
57     public:
58    
59     void Reset(); ///< Reset the algorythm
60     void Clear(Option_t* option = ""); ///< Clear the event
61     void Delete(){ delete _trkArray; };
62    
63     ExtTrkingAlg(Int_t id=0);
64     // ExtTrkingAlg(){ ExtTrkingAlg(0); };
65     ~ExtTrkingAlg(){ Delete(); };
66    
67     // ExtTrkingAlg(Int_t id);
68    
69     void SetTrkLevel1( TrkLevel1* trkl1 = NULL ) { _trk_l1 = trkl1;};
70     void SetTrkLevel2( TrkLevel2* trkl2 = NULL ) { _trk_l2 = trkl2; };
71     void SetToFLevel2( ToFLevel2* tofl2 = NULL ) { _tof_l2 = tofl2; };
72     void SetCaloLevel1( CaloLevel1* call1 = NULL ) { _cal_l1 = call1; };
73     void SetCaloLevel2( CaloLevel2* call2 = NULL ) { _cal_l2 = call2; };
74    
75     Bool_t CheckEvent(); ///< pre-selection
76     void ProcessEvent(Bool_t force = false); ///< apply tracking algorythm
77    
78     TClonesArray *GetTrackArray(Bool_t reset = false);
79    
80     void SetSelectionParams(double* par);
81     void SetAlgorythmParams(double* par);
82    
83     void SetDebug(Bool_t dbg = false){ _debug = dbg; };
84    
85     void Dump();
86    
87     TClonesArray** GetPointerToTrackArray(){ return &_trkArray; };
88    
89     };
90    
91    
92    
93     #endif

  ViewVC Help
Powered by ViewVC 1.1.23