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

CustomLightInjector.h

Go to the documentation of this file.
00001 #ifndef CUSTOMLIGHTINJECTOR_H
00002 #define CUSTOMLIGHTINJECTOR_H
00003 
00004 
00010 
00011 #include "JobControl/JobCInputModule.h"
00012 #include "Persistency/Per.h"
00013 
00014 #include <TFile.h>
00015 #include <TH1.h>
00016 
00017 #include "Validity/VldContext.h"
00018 #include "Plex/PlexHandle.h"
00019 
00020 class CustomLightInjector : public JobCInputModule {
00021 
00022 public:
00023   CustomLightInjector();
00024   ~CustomLightInjector();
00025   
00026   // JobCModule interface
00027   void BeginJob();
00028   const Registry& DefaultConfig() const;
00029   void            Config(const Registry& r);
00030   
00031   // JobCInputModule interface
00032  
00033 
00034   using JobCModule::Get;   // Stop compile errors:
00035   JobCResult Get();
00036 
00037   JobCResult Next(int n=1);
00038   JobCResult Prev(int n=1);
00039   JobCResult GoTo(int run, int snarl, int searchDir=0);
00040 
00041   JobCResult Ana(const MomNavigator* mom);
00042   JobCResult GoTo(const VldContext& ) { return this->Get();};
00043   //void List(const char* streamlist = "*") const;
00044   //void AddFile(const char *filename, const char* streamlist = "*",int at = -1);
00045   //void RemoveFile(const char* filename, const char* streamlist = "*");
00046   //JobCResult NextFile(int n=1, const char* streamlist = "*");
00047   //JobCResult PrevFile(int n=1, const char* streamlist = "*");
00048   //JobCResult GoToFile(int i, const char* streamlist = "*");
00049   //JobCResult GoToFile(const char* filename, const char* streamlist = "*");
00050   
00051   //void DefineStream(const char* stream, const char* tree);
00052   //void Select(const char* stream, const char* select, bool isRequired = false);
00053   //void SetSequenceMode(const char* stream, 
00054   //                     Per::ESequenceMode sequenceMode = Per::kKey);
00055 
00056 private:
00057   // Config:
00058   Int_t fDetector;
00059   Double_t fRate;
00060   Int_t    fDate;
00061   Int_t    fTime;
00062   Double_t fPhotonRate;
00063 
00064   // When and where the pulse happens:
00065   VldTimeStamp   fPulseTime;
00066   VldContext     fContext;
00067 
00068   static RawChannelId  fRcid1;  
00069   static RawChannelId  fRcid2;
00070 
00071   int           fCurrentSnarl; // Current snarl number
00072 };
00073 
00074 
00075 #endif

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