ROOT logo
AliRoot » TRIGGER » AliTrigDevice

class AliTrigDevice: public TNamed

   AliTrigDevice - Generic device class. A device has a number of inputs and
 outputs. The data handled by the device can be either Boolean (digital
 devices) or arbitrary (wrapped by the class AliTrigSignal). A device must
 provide a response function that may depend on the output id. To replay the
 device response function for a given output id, the device MUST register the
 output via the RegisterResponseFunction() method providing the delay in arbitrary time
 units. After the execution of the response for some output, the result will
 be propagated to all devices connected to this output. The method CreateDevice()
 must be implemented by all devices and should connect all component devices
 and register all response functions.
 The ResetInputs() method is called during simulation after the execution of
 all response functions.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliTrigDevice()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddDevice(AliTrigDevice* other)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tConnect(Int_t, AliTrigDevice*, Int_t)
virtual voidTNamed::Copy(TObject& named) const
virtual Bool_tCreateDevice()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliTrigDevice*GetComponent(Int_t n)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
Int_tGetNcomponents() const
Int_tGetNinputs() const
Int_tGetNoutputs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*GetOutputType(Int_t)
AliTrigScheduledResponse*GetResponseFunction(const char* name)
AliTrigScheduler*GetScheduler() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
AliTrigScheduledResponse*RegisterResponseFunction(const char* name, Int_t output, Int_t delay)
voidTObject::ResetBit(UInt_t f)
virtual voidResetInputs()
virtual Bool_tResponse(Int_t output = 0)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual Bool_tSetInputType(Int_t input, const char* classname)
virtual Bool_tSetInputValue(Int_t input, Bool_t value)
virtual Bool_tSetInputValue(Int_t input, AliTrigEvent* event)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNinputs(Int_t ninputs)
voidSetNoutputs(Int_t noutputs)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
AliTrigDevice&operator=(const AliTrigDevice& other)

Data Members

protected:
TObjArray*fComponentsComponent devices
TStringTNamed::fNameobject identifier
Int_tfNinputsNumber of inputs
Int_tfNoutputsNumber of outputs
TObjArray*fResponseFunctionsList of response functions
AliTrigScheduler*fSchedulerDevice scheduler
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliTrigDevice
AliTrigDigitalCircuit
AliTrigModule

Function documentation

~AliTrigDevice()
 Destructor.
void AddDevice(AliTrigDevice* other)
 Add another device as component of this device.
Int_t GetNcomponents() const
 Returns number of components.
AliTrigDevice * GetComponent(Int_t n)
 Get component at index n.
AliTrigScheduledResponse * GetResponseFunction(const char* name)
 Get a response function by name.
AliTrigScheduledResponse * RegisterResponseFunction(const char* name, Int_t output, Int_t delay)
 Creates a response function of the device. The delay argument is in arbitrary
 time units with respect to the startup reference. Note that the created
 scheduled entry must be registered to the device scheduler via:
    fDevice->AddScheduledEntry() method, otherwise it will not be replayed.
AliTrigDevice & operator=(const AliTrigDevice& other)
AliTrigScheduler * GetScheduler() const
{return fScheduler;}
Bool_t CreateDevice()
 Device creation method to be implemented by derived classes. The response
 functions are registered here. Connections between component devices should
 also be handled in this method.
{return kTRUE;}
Bool_t Connect(Int_t , AliTrigDevice* , Int_t )
 Connectivity to other devices. The method will create a connector between
 an output of this device to one input of the other.
{return kTRUE;}
Bool_t Response(Int_t output = 0)
 Response functions to be implemented by specific devices. Has to propagate
 the response to all connected devices. Representing the output #n of the device.
const char * GetOutputType(Int_t )
 Setting the value for a given input for digital devices of general ones
 that are handling generic signals.
{return 0;}
Bool_t SetInputType(Int_t input, const char* classname)
Bool_t SetInputValue(Int_t input, Bool_t value)
Bool_t SetInputValue(Int_t input, AliTrigEvent* event)
void ResetInputs()
 Device-dependent inputs reset method
void SetNinputs(Int_t ninputs)
{fNinputs = ninputs;}
void SetNoutputs(Int_t noutputs)
{fNoutputs = noutputs;}
Int_t GetNinputs() const
{return fNinputs;}
Int_t GetNoutputs() const
{return fNoutputs;}