/[PAMELA software]/PamelaLevel2/inc/PamLevel2.h
ViewVC logotype

Contents of /PamelaLevel2/inc/PamLevel2.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Fri Jun 16 16:43:55 2006 UTC (18 years, 5 months ago) by pam-fi
Branch: PamelaLevel2
CVS Tags: v0r01
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
First CVS release of PamelaLevel2 class library ( compatible with DarthVader from v0r02 )

1
2
3 /**
4 * \file PamLevel2.h
5 * \author Elena Vannuccini
6 */
7 #ifndef pamlevel2_h
8 #define pamlevel2_h
9
10 #include <TClonesArray.h>
11
12 #include <TrkLevel2.h>
13 #include <CaloLevel2.h>
14 #include <ToFLevel2.h>
15 #include <TrigLevel2.h>
16 #include <S4Level2.h>
17 #include <NDLevel2.h>
18 #include <AcLevel2.h>
19
20 #include <TTree.h>
21 #include <TFile.h>
22
23 #include <iostream>
24 using namespace std;
25
26 /**
27 * \brief Class to describe particle tracks in the apparatus, including tracker and track-related variables from other detectors (calorimeter and TOF).
28 *
29 * This class inherites from TrkTrack, CaloTrkVar ecc...
30 *
31 */
32 class PamTrack : public TrkTrack, public CaloTrkVar, public ToFTrkVar {
33
34 private:
35
36 TrkTrack* trk_track;
37 CaloTrkVar* calo_track;
38 ToFTrkVar* tof_track;
39
40 public:
41
42 PamTrack();
43
44 PamTrack(TrkTrack* , CaloTrkVar* , ToFTrkVar* );
45
46 ClassDef(PamTrack,1);
47 };
48
49 /**
50 * \brief Class to describe PAMELA LEVEL2 data.
51 *
52 * This class inherites from TrkLevel2, CaloLevel2 ecc... and it overrides the TrkLevel2:GetTrack(int it) and TrkLevel2:GetTrackImage(int it) methods.
53 * This allows to solve the tracker ambiguity (that is, to choose between track images) by using also information from other detectors.
54 */
55
56 class PamLevel2 : public CaloLevel2, public TrkLevel2, public ToFLevel2, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2 {
57
58 private:
59
60 TrkLevel2* trk_obj;
61 CaloLevel2* calo_obj;
62 ToFLevel2* tof_obj;
63 TrigLevel2* trig_obj;
64 S4Level2* s4_obj;
65 NDLevel2* nd_obj;
66 AcLevel2* ac_obj;
67
68 public:
69
70 PamLevel2();
71
72 TrkLevel2* GetTrkLevel2() {return trk_obj;};
73 CaloLevel2* GetCaloLevel2() {return calo_obj;};
74 ToFLevel2* GetToFLevel2() {return tof_obj;};
75 TrigLevel2* GetTrigLevel2() {return trig_obj;};
76 S4Level2* GetS4Level2() {return s4_obj;};
77 NDLevel2* GetNDLevel2() {return nd_obj;};
78 AcLevel2* GetAcLevel2() {return ac_obj;};
79
80 // =================================
81 // methods needed to ... well I am not shure they are needed
82 // =================================
83 void* GetPointerToTrk() {return &trk_obj;};
84 void* GetPointerToCalo() {return &calo_obj;};
85 void* GetPointerToToF() {return &tof_obj;};
86 void* GetPointerToTrig() {return &trig_obj;};
87 void* GetPointerToS4() {return &s4_obj;};
88 void* GetPointerToND() {return &nd_obj;};
89 void* GetPointerToAc() {return &ac_obj;};
90
91 TTree* LoadPamTrees(TFile*);
92
93
94 // =================================
95 // methods to retrieve pamela tracks
96 // =================================
97 PamTrack* GetStoredTrack(Int_t itrk);
98 TClonesArray* GetTracks();
99 PamTrack* GetTrack(int);
100 PamTrack* GetTrackImage(int);
101 ClassDef(PamLevel2,1);
102 };
103
104 //===============================================================================================
105 //
106 //
107 //
108 //
109 //===============================================================================================
110
111
112 #endif
113

  ViewVC Help
Powered by ViewVC 1.1.23