fSlot(slot),
fTC(true),
fCrate(),
- fSwitches(false),
fSwitch(0),
fNotified(true),
fDEId(false),
fSlot(),
fTC(),
fCrate(),
- fSwitches(),
fSwitch(),
fNotified(),
fDEId(),
}
//______________________________________________________________________________
-Bool_t AliMpLocalBoard::AddSwitch(Int_t swit)
+void AliMpLocalBoard::SetSwitch(UInt_t swit)
{
-/// Add a swicth for the given local board
-/// Return true if switch was added
-
- if ( swit > 1 ) {
- AliWarningStream()
- << "Invalid value for switch = " << swit
- << endl;
- return false;
- }
-
- fSwitches.Add(swit);
- fSwitch <<= 1;
- fSwitch |= (swit & 0x1);
- return true;
-}
-
-
-//______________________________________________________________________________
-Int_t AliMpLocalBoard::GetNofSwitches() const
-{
-/// Return the number switches in this local board
-
- return fSwitches.GetSize();
+/// set compact switch
+
+ fSwitch = swit;
+
}
//______________________________________________________________________________
Int_t AliMpLocalBoard::GetSwitch(Int_t index) const
{
-/// Return switch by index (in loop)
+/// Return switch bit wise
- if (index < fSwitches.GetSize())
- return fSwitches.GetValue(index);
- else
+ if (index > 9) {
AliWarning("Switch index too large");
-
- return -1;
+ return -1;
+ }
+ return (fSwitch >> 9-index) & 0x1;
}
//______________________________________________________________________________
// Switches
//
- Bool_t AddSwitch(Int_t swit);
- Int_t GetNofSwitches() const;
+ /// Get switch bit wise (return a inteter for backware compatibility)
Int_t GetSwitch(Int_t index) const;
-
/// Set switch in a compact way
- void SetSwitch(UInt_t swit) {fSwitch = swit;}
+ void SetSwitch(UInt_t swit);
/// Get switch in a compact way
UInt_t GetSwitch() const {return fSwitch;}
/// Return notified flag (not copy card)
Bool_t IsNotified() const {return fNotified;}
- // given position (line, col)
+
+ /// given position (line, col)
AliMpIntPair GetPosition() const;
// Id to be copy to or from
Int_t fId; ///< Identifier (unique)
Int_t fSlot; ///< Slot Identifier in the given crate
-
Bool_t fTC; ///< Transverse connector
TString fCrate; ///< Crate name
- AliMpArrayI fSwitches; ///< switches
UInt_t fSwitch; ///< switches in compact way
Bool_t fNotified; ///< notified flag (not copy card)
AliMpArrayI fDEId; ///< list of Detection element to which this local board is connected
Int_t fInputYfrom;///< local id of y1-4 inputs copied from (zero: not copied)
Int_t fInputYto; ///< local id of y1-4 inputs copied to (zero: not copied)
- ClassDef(AliMpLocalBoard,2) //utility class for the motif type
+ ClassDef(AliMpLocalBoard,3) //utility class for the motif type
};