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

BMSpillAna.h

Go to the documentation of this file.
00001 
00038 #ifndef BMSPILLANA_H
00039 #define BMSPILLANA_H
00040 
00041 #include "BeamDataUtil/BeamMonSpill.h"
00042 #include "BeamDataUtil/BeamMonCuts.h"
00043 #include "BeamDataNtuple/NtpBDLiteRecord.h"
00044 #include "Registry/Registry.h"
00045 #include "Validity/VldTimeStamp.h"
00046 #include <DatabaseInterface/DbiResultPtr.h>
00047 #include "DatabaseInterface/Dbi.h"
00048 
00049 class BMSpillAna
00050 {
00051 public:
00052 
00053 // Con/de-structors:
00054     BMSpillAna();
00055     virtual ~BMSpillAna();
00056 
00057     const Registry& DefaultConfig() const;
00058     void Config (const Registry& r); 
00059 
00061     const Registry& GetUserCuts() const;
00062 
00064     void UseDatabaseCuts(Bool_t usedb=true);
00065 
00067     void UseCutsSet(Dbi::Task cutset);
00068 
00070     void SetSpill(const BeamMonSpill& spill);
00071 
00076     void SetSpill(const NtpBDLiteRecord& ntpbdr, BeamMonSpill& spill);
00077 
00085     void SetSnarlTime(const VldTimeStamp& vs_snarl);
00086 
00091     void SetTimeDiff(Double_t tdiff);
00092 
00094     const BeamMonSpill& GetSpill() const;
00095 
00097     Bool_t SelectSpill();
00098     
00114     Double_t FractionOnTarget();
00115 
00118     Double_t CalcFracOnTarget(Double_t bpos, Double_t bwid, Double_t tedg, Double_t toff);
00119 
00121     void Print();
00122 
00123 private:
00124 
00126     void ChangeCutValues(const Registry& r);
00127 
00128     void ApplyUserCuts();
00129     
00131     const BeamMonSpill* fSpill;
00132 
00135     Registry fUserCuts;
00136     
00139     Bool_t fUseDBCuts;
00140 
00145     Dbi::Task fCutsSet;
00146     
00147     DbiResultPtr<BeamMonCuts> fResPtr;
00148     Int_t fResID;
00149     
00155     Double_t fTimeDiff;
00156 
00158 
00161     Double_t fTimeDiffMax;
00162 
00171     Double_t fPosTgtXMin; 
00172     Double_t fPosTgtXMax;
00174     Double_t fPosTgtYMin; 
00175     Double_t fPosTgtYMax;
00176 
00203     Double_t fWidXMin; 
00204     Double_t fWidXMax;
00206     Double_t fWidYMin; 
00207     Double_t fWidYMax;
00208 
00219     Int_t fUseSpotSizeCut;
00220     
00224     Int_t fUseProfMonOut;
00225     
00229     Double_t fTorIntMin;
00230     Double_t fTorIntMax;
00231 
00235     Double_t fHornCurMin;
00236     Double_t fHornCurMax;
00237 
00243     Int_t fTargetIn;
00244 
00252     Int_t fBeamType;
00253 
00261     Double_t fFracOnTargetMin;
00262     Double_t fFracOnTargetMax;
00263     
00264 };                              // end of class BMSpillAna
00265 
00266 
00267 inline void BMSpillAna::UseDatabaseCuts(Bool_t usedb)
00268 {fUseDBCuts = usedb;}
00269 
00270 inline void BMSpillAna::UseCutsSet(Dbi::Task cutset)
00271 {fCutsSet = cutset;}
00272 
00273 inline const Registry& BMSpillAna::GetUserCuts() const
00274 {return fUserCuts;}
00275 
00276 inline const BeamMonSpill& BMSpillAna::GetSpill() const
00277 {return *fSpill;}
00278 
00279 inline void  BMSpillAna::SetTimeDiff(Double_t tdiff)
00280 {fTimeDiff = tdiff;}
00281 
00282 
00283 
00284 #endif  // BMSPILLANA_H

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