]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTriggerDescriptor.h
Record changes.
[u/mrichter/AliRoot.git] / STEER / AliTriggerDescriptor.h
CommitLineData
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
23class TNamed;
24
25class TString;
26class TObjArray;
27class AliRunLoader;
28
29class AliTriggerDescriptor : public TNamed {
30
31public:
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
56protected:
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
64private:
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