]>
Commit | Line | Data |
---|---|---|
a5a091ce | 1 | #ifndef ALITRIGGERDESCRIPTOR_H |
2 | #define ALITRIGGERDESCRIPTOR_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | /////////////////////////////////////////////////////////////////////////////// | |
10 | // // | |
11 | // This class for running a Trigger Descriptor // | |
12 | // // | |
13 | // // | |
14 | // A Trigger Descriptor define a trigger setup for specific runnign | |
15 | // condition (Pb-Pb, p-p, p-A, Calibration, etc). | |
16 | // It keep: | |
17 | // - cluster detector (List of detectors involved) | |
18 | // - List of conditions | |
19 | // // | |
20 | // // | |
21 | /////////////////////////////////////////////////////////////////////////////// | |
22 | ||
23 | class TNamed; | |
24 | ||
25 | class TString; | |
26 | class TObjArray; | |
27 | class AliRunLoader; | |
28 | ||
29 | class AliTriggerDescriptor : public TNamed { | |
30 | ||
31 | public: | |
32 | AliTriggerDescriptor(); | |
33 | AliTriggerDescriptor( TString & name, TString & description ); | |
34 | AliTriggerDescriptor( const AliTriggerDescriptor& des ); | |
35 | virtual ~AliTriggerDescriptor() { fConditions.SetOwner(); fConditions.Delete(); } | |
bacbe0fd | 36 | AliTriggerDescriptor& operator=(const AliTriggerDescriptor& des); |
37 | ||
38 | // Setters | |
a5a091ce | 39 | Bool_t AddDetectorCluster( TString & cluster ); |
40 | void AddCondition( TString & cond, TString & name, | |
92c1978f | 41 | TString & description, ULong64_t mask ); |
a5a091ce | 42 | void AddCondition( AliTriggerCondition* cond ) { fConditions.AddLast( cond ); } |
43 | // Getters | |
44 | TString GetDetectorCluster() const { return fDetectorCluster; } | |
45 | TObjArray* GetTriggerConditions() { return &fConditions; } | |
46 | Bool_t CheckInputsConditions( TString & configfile ); | |
47 | void Print( const Option_t* opt ="" ) const; | |
48 | // Descriptors Database (root file) | |
49 | void WriteDescriptor( const char* filename="" ); | |
50 | static TObjArray* GetAvailableDescriptors( const char* filename="" ); | |
51 | static | |
52 | AliTriggerDescriptor* LoadDescriptor( TString & des, const char* filename="" ); | |
53 | //TODO static Bool_t RemoveDescriptor( AliTriggerDescriptor* descriptor, const char* filename="" ); | |
54 | //TODO static Bool_t RemoveDescriptor( TString* descriptor, const char* filename="" ); | |
55 | ||
56 | protected: | |
57 | // TString fRunCondition; // Running modes Ej. Pb-Pb, p-p, p-A | |
58 | TString fDetectorCluster; // Array of Detector Trigger | |
59 | TObjArray fConditions; // Array of Trigger Condition (AliTriggerCondition) | |
60 | ||
c69d332d | 61 | static const Int_t fgkNDetectors = 10; //! number possible trigger detectors |
a5a091ce | 62 | static const char* fgkDetectorName[fgkNDetectors]; //! names of detectors |
63 | ||
64 | private: | |
65 | Bool_t IsSelected( TString detName, TString & detectors ) const; | |
66 | static const TString fgkDescriptorFileName; //! name of default descriptors file | |
67 | ||
92c1978f | 68 | ClassDef( AliTriggerDescriptor, 2 ) // Define a trigger descriptor |
a5a091ce | 69 | }; |
70 | ||
71 | #endif |