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
1.3.9.1