1 #ifndef ALITRIGGERDESCRIPTOR_H
2 #define ALITRIGGERDESCRIPTOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ///////////////////////////////////////////////////////////////////////////////
11 // This class for running a Trigger Descriptor //
14 // A Trigger Descriptor define a trigger setup for specific runnign
15 // condition (Pb-Pb, p-p, p-A, Calibration, etc).
17 // - cluster detector (List of detectors involved)
18 // - List of conditions
21 ///////////////////////////////////////////////////////////////////////////////
29 class AliTriggerDescriptor : public TNamed {
32 AliTriggerDescriptor();
33 AliTriggerDescriptor( TString & name, TString & description );
34 AliTriggerDescriptor( const AliTriggerDescriptor& des );
35 virtual ~AliTriggerDescriptor() { fConditions.SetOwner(); fConditions.Delete(); }
37 Bool_t AddDetectorCluster( TString & cluster );
38 void AddCondition( TString & cond, TString & name,
39 TString & description, Long_t mask );
40 void AddCondition( AliTriggerCondition* cond ) { fConditions.AddLast( cond ); }
42 TString GetDetectorCluster() const { return fDetectorCluster; }
43 TObjArray* GetTriggerConditions() { return &fConditions; }
44 Bool_t CheckInputsConditions( TString & configfile );
45 void Print( const Option_t* opt ="" ) const;
46 // Descriptors Database (root file)
47 void WriteDescriptor( const char* filename="" );
48 static TObjArray* GetAvailableDescriptors( const char* filename="" );
50 AliTriggerDescriptor* LoadDescriptor( TString & des, const char* filename="" );
51 //TODO static Bool_t RemoveDescriptor( AliTriggerDescriptor* descriptor, const char* filename="" );
52 //TODO static Bool_t RemoveDescriptor( TString* descriptor, const char* filename="" );
55 // TString fRunCondition; // Running modes Ej. Pb-Pb, p-p, p-A
56 TString fDetectorCluster; // Array of Detector Trigger
57 TObjArray fConditions; // Array of Trigger Condition (AliTriggerCondition)
59 static const Int_t fgkNDetectors = 9; //! number possible trigger detectors
60 static const char* fgkDetectorName[fgkNDetectors]; //! names of detectors
63 Bool_t IsSelected( TString detName, TString & detectors ) const;
64 static const TString fgkDescriptorFileName; //! name of default descriptors file
66 ClassDef( AliTriggerDescriptor, 1 ) // Define a trigger descriptor