Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ANtpRecoNtpManipulator.h

Go to the documentation of this file.
00001 
00002 // $Id: ANtpRecoNtpManipulator.h,v 1.13 2007/05/29 02:09:06 brebel Exp $
00003 //
00004 // A class to easily get at the SR ntuple information
00005 //
00006 // B. Rebel 10/2004
00008 #ifndef ANTPRECONTPMANIPULATOR_H
00009 #define ANTPRECONTPMANIPULATOR_H
00010 
00011 #include "TClonesArray.h"
00012 #include "TString.h"
00013 
00014 #include "CandNtupleSR/NtpSRRecord.h"
00015 #include "CandNtupleSR/NtpSREventSummary.h"
00016 #include "CandNtupleSR/NtpSRShieldStrip.h"
00017 #include "CandNtupleSR/NtpSRShieldSummary.h"
00018 #include "CandNtupleSR/NtpSRCosmicRay.h"
00019 #include "CandNtupleSR/NtpSRDmxStatus.h"
00020 #include "CandNtupleSR/NtpSRDataQuality.h"
00021 #include "MCNtuple/NtpMCRecord.h"
00022 #include "TruthHelperNtuple/NtpTHRecord.h"
00023 #include "StandardNtuple/NtpStRecord.h"
00024 #include "AnalysisNtuples/Module/ANtpEventManipulator.h"
00025 #include "AnalysisNtuples/Module/ANtpSnarlManipulator.h"
00026 #include "AnalysisNtuples/Module/ANtpSliceManipulator.h"
00027 #include "AnalysisNtuples/Module/ANtpMCManipulator.h"
00028 
00029 class NtpTHEvent;
00030 class NtpTHShower;
00031 class NtpTHTrack;
00032 class NtpTHStrip;
00033 class NtpMCTruth;
00034 class NtpMCStdHep;
00035 
00036 class ANtpRecoNtpManipulator
00037 {
00038 
00039  public:
00040   ANtpRecoNtpManipulator();
00041   ANtpRecoNtpManipulator(NtpSRRecord *record, NtpMCRecord *mcRecord=0, NtpTHRecord *thRecord=0);
00042   ANtpRecoNtpManipulator(NtpStRecord *record);
00043   virtual ~ANtpRecoNtpManipulator();
00044   
00045   ANtpEventManipulator *GetEventManipulator() const; 
00046   ANtpSnarlManipulator *GetSnarlManipulator() const;
00047   ANtpSliceManipulator *GetSliceManipulator() const;
00048   ANtpMCManipulator *GetMCManipulator() const;
00049 
00050   NtpSREventSummary GetSnarlEventSummary() const;
00051   NtpSRShieldStrip *GetShieldStrip(Int_t index);
00052   NtpSRShieldSummary GetSnarlShieldSummary() const;
00053   NtpSRCosmicRay GetCosmicRayInfo() const;
00054   NtpSRDmxStatus GetDmxStatusInfo() const;
00055   NtpSRDataQuality GetDataQuality() const;
00056 
00057   Int_t GetRun() const;
00058   Int_t GetSubRun() const;
00059   Int_t GetSnarl() const;
00060   Int_t GetTriggerSource() const;
00061   Int_t GetSpillType() const;
00062   TString GetReleaseType() const;
00063   TString GetMCType() const;
00064   TString GetReleaseMCType() const;
00065 
00066   NtpStRecord *GetNtpStRecord() const;
00067 
00068   TClonesArray *GetStripArray() const;
00069   TClonesArray *GetVetoStripArray() const;
00070   TClonesArray *GetEventArray() const;
00071   TClonesArray *GetShowerArray() const;
00072   TClonesArray *GetClusterArray() const;
00073   TClonesArray *GetTrackArray() const;
00074   TClonesArray *GetSliceArray() const;
00075   TClonesArray *GetStdHepArray() const;
00076   TClonesArray *GetMCArray() const;
00077   TClonesArray *GetTHStpArray() const;
00078   TClonesArray *GetTHShwArray() const;
00079   TClonesArray *GetTHEvtArray() const;
00080   TClonesArray *GetTHTrkArray() const;
00081 
00082   void SetPrimaryTrackCriteria(Int_t useNPlanes, Int_t useLength, Int_t usePH);
00083   void SetPrimaryShowerCriteria(Int_t useNPlanes, Int_t usePH);
00084   void SetRecord(NtpStRecord *record); //reinitialize the object for a new record
00085   void SetRecord(NtpSRRecord *record, NtpMCRecord *mcRecord=0, 
00086                  NtpTHRecord *thRecord=0); //reinitiale the object for a new record
00087 
00088  private:
00089   
00090   ANtpEventManipulator *fEventManipulator;
00091   ANtpSnarlManipulator *fSnarlManipulator;
00092   ANtpSliceManipulator *fSliceManipulator;
00093   ANtpMCManipulator *fMCManipulator;
00094 
00095   NtpMCRecord *fNtpMCRecord;
00096   NtpSRRecord *fNtpSRRecord;
00097   NtpSRCosmicRay fNtpSRCosmicRay;
00098   NtpSRDmxStatus fNtpSRDmxStatus;
00099   NtpSRDataQuality fNtpSRDataQuality;
00100   NtpSREventSummary fNtpSREventSummary;
00101   NtpSRShieldStrip *fNtpSRShieldStrip;
00102   NtpSRShieldSummary fNtpSRShieldSummary;
00103   NtpTHRecord *fNtpTHRecord;
00104   NtpStRecord *fNtpStRecord;
00105 
00106   Int_t fRun;
00107   Int_t fSubRun;
00108   Int_t fSnarl;
00109   Int_t fTriggerSource;
00110   Int_t fSpillType;
00111   TString fReleaseType;
00112   TString fMCType;
00113   TString fReleaseMCType;
00114 
00115   TClonesArray *fEventArray;
00116   TClonesArray *fTrackArray;
00117   TClonesArray *fShowerArray;
00118   TClonesArray *fClusterArray;
00119   TClonesArray *fStripArray;
00120   TClonesArray *fVetoStripArray;
00121   TClonesArray *fSliceArray;
00122   TClonesArray *fMCArray;
00123   TClonesArray *fStdArray;
00124   TClonesArray *fTHShwArray;
00125   TClonesArray *fTHTrkArray;
00126   TClonesArray *fTHStpArray;
00127   TClonesArray *fTHEvtArray;
00128 
00129   ClassDef(ANtpRecoNtpManipulator, 4) //ANtpRecoNtpManipulator
00130 };
00131 
00132 #endif // ANTPRECONTPMANIPULATOR_H
00133 
00134 

Generated on Mon Feb 15 11:06:22 2010 for loon by  doxygen 1.3.9.1