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

Diff of /PamelaLevel2/inc/PamLevel2.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by pam-fi, Mon Oct 9 08:57:41 2006 UTC revision 1.6 by pam-fi, Tue Nov 28 10:58:34 2006 UTC
# Line 11  Line 11 
11    
12  #include <TrkLevel1.h>  #include <TrkLevel1.h>
13  #include <TrkLevel2.h>  #include <TrkLevel2.h>
14    #include <TrkHough.h>
15    #include <CaloLevel1.h>
16  #include <CaloLevel2.h>  #include <CaloLevel2.h>
17  #include <ToFLevel2.h>  #include <ToFLevel2.h>
18  #include <TrigLevel2.h>  #include <TrigLevel2.h>
# Line 64  class PamTrack : public TrkTrack, public Line 66  class PamTrack : public TrkTrack, public
66   * This allows to solve the tracker ambiguity (that is, to choose between track images) by using also information from other detectors.   * This allows to solve the tracker ambiguity (that is, to choose between track images) by using also information from other detectors.
67   */   */
68                                    
69  class PamLevel2 : public CaloLevel2, public TrkLevel2, public TrkLevel1, public ToFLevel2, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2, public OrbitalInfo {  class PamLevel2 : public CaloLevel2, public CaloLevel1, public TrkLevel2, public TrkLevel1, public TrkHough, public ToFLevel2, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2, public OrbitalInfo {
70    
71   private:   private:
72    
73      TrkLevel1*   trk_l1_obj;      TrkLevel1*   trk1_obj;
74          TrkLevel2*   trk_obj;      TrkLevel2*   trk2_obj;
75          CaloLevel2*  calo_obj;      TrkHough*    trkh_obj;
76    
77        CaloLevel1*  calo1_obj;
78        CaloLevel2*  calo2_obj;
79    
80      ToFLevel2*   tof_obj;      ToFLevel2*   tof_obj;
81      TrigLevel2*  trig_obj;      TrigLevel2*  trig_obj;
82      S4Level2*    s4_obj;      S4Level2*    s4_obj;
83      NDLevel2*    nd_obj;      NDLevel2*    nd_obj;
84      AcLevel2*    ac_obj;      AcLevel2*    ac_obj;
85          OrbitalInfo* orb_obj;      OrbitalInfo* orb_obj;
86                    
87          GL_RUN*      run_obj;      GL_RUN*      run_obj;
88            
89          TRefArray*   sorted_tracks;      TRefArray*   sorted_tracks;
90                    
91          TChain*      Tout;  //    TChain*      Tout;
92                    
93   public:   public:
94    
95          Bool_t CAL;      Bool_t CAL2; //level2 branch
96          Bool_t TRK;      Bool_t CAL1; //level1 branch
97          Bool_t TRG;  
98          Bool_t TOF;      Bool_t TRK2; //level2 branch
99          Bool_t S4;      Bool_t TRK1; //level1 branch
100          Bool_t ND;      Bool_t TRKh; //hough branch
101          Bool_t AC;  
102          Bool_t ORB;      Bool_t TRG;
103                Bool_t TOF;
104          Bool_t TRK_L1;      Bool_t S4;
105        Bool_t ND;
106        Bool_t AC;
107        Bool_t ORB;
108            
109      PamLevel2();      PamLevel2();
110          ~PamLevel2();      ~PamLevel2();
111                    
112          void Clear();      void Clear();
113    
114          TrkLevel1*   GetTrkLevel1()  { return trk_l1_obj;  };      TrkLevel1*   GetTrkLevel1()  { return trk1_obj;  };
115          TrkLevel2*   GetTrkLevel2()  { return trk_obj;  };      TrkLevel2*   GetTrkLevel2()  { return trk2_obj;  };
116          CaloLevel2*  GetCaloLevel2() { return calo_obj; };      TrkHough*    GetTrkHough()   { return trkh_obj;  };
117        CaloLevel1*  GetCaloLevel1() { return calo1_obj; };
118        CaloLevel2*  GetCaloLevel2() { return calo2_obj; };
119      ToFLevel2*   GetToFLevel2()  { return tof_obj;  };      ToFLevel2*   GetToFLevel2()  { return tof_obj;  };
120      TrigLevel2*  GetTrigLevel2() { return trig_obj; };      TrigLevel2*  GetTrigLevel2() { return trig_obj; };
121      S4Level2*    GetS4Level2()   { return s4_obj;   };      S4Level2*    GetS4Level2()   { return s4_obj;   };
122      NDLevel2*    GetNDLevel2()   { return nd_obj;   };      NDLevel2*    GetNDLevel2()   { return nd_obj;   };
123      AcLevel2*    GetAcLevel2()   { return ac_obj;   };      AcLevel2*    GetAcLevel2()   { return ac_obj;   };
124          OrbitalInfo* GetOrbitalInfo(){ return orb_obj;  };      OrbitalInfo* GetOrbitalInfo(){ return orb_obj;  };
125          GL_RUN*      GetRunInfo()    { return run_obj;  };      GL_RUN*      GetRunInfo()    { return run_obj;  };
126                    
127  //  =====================================  //  =====================================
128  //  methods needed to read Level2 trees  //  methods needed to read Level2 trees
129  //  =====================================  //  =====================================
130          void    SetWhichTrees(TString);      void    SetWhichTrees(TString);
131          TList*  GetListOfLevel2Files(TString, TString);      TList*  GetListOfLevel2Files(TString, TString);
132          Bool_t  CheckLevel2File(TString);      Bool_t  CheckLevel2File(TString);
133          void    SetBranchAddress();  //    void    SetBranchAddress();
134          TTree*  GetPamTree(TFile*,TString);      TTree*  GetPamTree(TFile*,TString);
135          TTree*  GetPamTree(TFile* f){return GetPamTree(f,"+ALL");};      TTree*  GetPamTree(TFile* f){return GetPamTree(f,"+ALL");};
136          TChain* GetPamTree(TList*,TString);      TChain* GetPamTree(TList*,TString);
137          TTree*  GetRunTree(TFile*);      TTree*  GetRunTree(TFile*);
138          TChain* GetRunTree(TList*);      TChain* GetRunTree(TList*);
139            
140        void    SetBranchAddress(TTree *);
141        void    SetBranchAddress(TChain *);
142    
143  //  =====================================  //  =====================================
144  //  methods needed to set brach addresses  //  methods needed to set brach addresses
145  //  =====================================  //  =====================================
146          void*       GetPointerToTrk()  {return &trk_obj;};      void*       GetPointerToTrk()  {return &trk2_obj;};
147          void*       GetPointerToTrk(int s){      void*       GetPointerToTrk(int s){
148                  switch (s) {          switch (s) {
149                          case 1:  return &trk_l1_obj;          case 1:  return &trk1_obj;
150                          case 2:  return &trk_obj;          case 2:  return &trk2_obj;
151                          default: return 0;          case 3:  return &trkh_obj;
152                  };          default: return 0;
153          };          };
154          void*       GetPointerToCalo() {return &calo_obj; };      };
155          void*       GetPointerToToF()  {return &tof_obj;  };      void*       GetPointerToCalo() {return &calo2_obj; };
156          void*       GetPointerToTrig() {return &trig_obj; };      void*       GetPointerToCalo(int s){
157          void*       GetPointerToS4()   {return &s4_obj;   };          switch (s) {
158          void*       GetPointerToND()   {return &nd_obj;   };          case 1:  return &calo1_obj;
159          void*       GetPointerToAc()   {return &ac_obj;   };          case 2:  return &calo2_obj;
160          void*       GetPointerToOrb()  {return &orb_obj;  };          default: return 0;
161          void*       GetPointerToRun()  {return &run_obj;  };          };
162          void*       GetPointerTo(const char*);      };
163        void*       GetPointerToToF()  {return &tof_obj;  };
164        void*       GetPointerToTrig() {return &trig_obj; };
165        void*       GetPointerToS4()   {return &s4_obj;   };
166        void*       GetPointerToND()   {return &nd_obj;   };
167        void*       GetPointerToAc()   {return &ac_obj;   };
168        void*       GetPointerToOrb()  {return &orb_obj;  };
169        void*       GetPointerToRun()  {return &run_obj;  };
170        void*       GetPointerTo(const char*);
171    
172  //  ==============================================  //  ==============================================
173  //  methods to retrieve subdetectors stored tracks  //  methods to retrieve subdetectors stored tracks
174  //  ==============================================  //  ==============================================
175          TrkTrack*   GetTrkStoredTrack(int seqno){return TrkLevel2::GetStoredTrack(seqno); };      TrkTrack*   GetTrkStoredTrack(int seqno){return TrkLevel2::GetStoredTrack(seqno); };
176          CaloTrkVar* GetCaloStoredTrack(int);      CaloTrkVar* GetCaloStoredTrack(int);
177          ToFTrkVar*  GetToFStoredTrack(int);      ToFTrkVar*  GetToFStoredTrack(int);
178          //      //
179          PamTrack*   GetPamTrackAlong(TrkTrack*);      PamTrack*   GetPamTrackAlong(TrkTrack*);
180  //      PamTrack*   GetPamTrackAlong(CaloTrkVar*);      //se serve  //      PamTrack*   GetPamTrackAlong(CaloTrkVar*);      //se serve
181  //      PamTrack*   GetPamTrackAlong(ToFTrkVar*);      //se serve  //      PamTrack*   GetPamTrackAlong(ToFTrkVar*);      //se serve
182                    
# Line 162  class PamLevel2 : public CaloLevel2, pub Line 184  class PamLevel2 : public CaloLevel2, pub
184  //  methods to retrieve pamela tracks  //  methods to retrieve pamela tracks
185  //  =================================  //  =================================
186      PamTrack*     GetStoredTrack(Int_t);      PamTrack*     GetStoredTrack(Int_t);
187          //      //
188          void          SortTracks(TString);          //assign value to variable sorted_tracks      void          SortTracks(TString);          //assign value to variable sorted_tracks
189          TRefArray*    GetTracks();                  //return sorted_tracks      TRefArray*    GetTracks();                  //return sorted_tracks
190          PamTrack*     GetTrack(int);      PamTrack*     GetTrack(int);
191      PamTrack*     GetTrackImage(int);      PamTrack*     GetTrackImage(int);
192                    
193    //  =================================
194    //  other methods
195    //  =================================
196        Int_t ntrk(){ return TrkLevel2::ntrk(); };
197    
198    
199      ClassDef(PamLevel2,1);      ClassDef(PamLevel2,1);
200  };  };
201    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23