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

Annotation of /PamelaLevel2/inc/PamLevel2.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Fri Jun 16 16:43:55 2006 UTC (18 years, 5 months ago) by pam-fi
Branch: MAIN
Branch point for: PamelaLevel2
File MIME type: text/plain
Initial revision

1 pam-fi 1.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