Update master to aliroot
[u/mrichter/AliRoot.git] / TRIGGER / AliTRIPreprocessor.h
1 #ifndef ALI_TRI_PREPROCESSOR_H
2 #define ALI_TRI_PREPROCESSOR_H
3
4 class TMap;
5 class AliShuttleInterface;
6
7 #include "AliPreprocessor.h"
8
9 // Preprocessor for triggering detectors
10 // Every Triggering detector should implement his own ProcessDETTriggerData 
11 // function which will be called according to the TriggerDetectorMask 
12 // found in the DAQ logbook_trigger_clusters table
13
14 class AliTRIPreprocessor : public AliPreprocessor
15 {
16   public:
17     enum { kNDetectorsMap = 31 }; // number of entries in detectors_map as in /date/db/detCodes.h. Adding empty strings when there's an "empty" index
18
19     AliTRIPreprocessor(AliShuttleInterface* shuttle);
20     virtual ~AliTRIPreprocessor();
21     
22     Short_t ProcessSPDTriggerData();
23     Short_t ProcessTOFTriggerData();
24     Short_t ProcessEmptyTriggerData();
25
26   protected:
27     virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
28     virtual UInt_t Process(TMap* /*dcsAliasMap*/);
29     virtual Bool_t ProcessDCS();
30
31   private:
32
33     AliTRIPreprocessor(const AliTRIPreprocessor & proc); // copy constructor
34     AliTRIPreprocessor& operator=(const AliTRIPreprocessor & proc);
35     static const char* fgkDetectorsMapName[kNDetectorsMap];  // names of detectors/systems in the DETECTORS_MAP in /date/db/detCodes.h
36
37     AliShuttleInterface *fShuttle;
38
39     ClassDef(AliTRIPreprocessor, 0);
40 };
41
42 #endif