00001 00002 // 00003 // CLASS AlEflw: 00004 // Concrete class for Eflow Objects, inherits from QvecBase 00005 // 00006 // Author : G. Bagliesi 00007 // modified by C. Delaere: now derive from QvecLink 00008 // added lock and unlock 00009 // fixed assignement operator 00010 // 00012 00013 #include "AlEflw.h" 00014 #include "AlTrack.h" 00015 00016 // default constructor : 00017 AlEflw::AlEflw() {} 00018 00019 // copy constructor : 00020 AlEflw::AlEflw(const AlEflw& oldE):QvecLink(oldE) 00021 { 00022 _efType = oldE._efType; 00023 _theAssocTrack = oldE._theAssocTrack; 00024 } 00025 00026 // set the Eflow type 00027 void AlEflw::setEfType(const int& type) 00028 { 00029 _efType = type; 00030 } 00031 00032 00033 // get the Eflow type 00046 EFLWTYPE AlEflw::getEfType() const 00047 { 00048 return (EFLWTYPE)_efType; 00049 } 00050 00051 // set the assoc. track 00052 void AlEflw::setTrack(AlTrack* theTrack) 00053 { 00054 _theAssocTrack = theTrack; 00055 } 00056 00057 // get the assoc. track 00058 AlTrack* AlEflw::getTrack() const 00059 { 00060 return _theAssocTrack; 00061 } 00062 00063 // specialised lock 00064 void AlEflw::Lock(bool recurse) 00065 { 00066 if (recurse && (_theAssocTrack != NULL) ) _theAssocTrack->Lock(1); 00067 _locked = 1; 00068 } 00069 void AlEflw::unLock(bool recurse) 00070 { 00071 if (recurse && (_theAssocTrack != NULL) ) _theAssocTrack->unLock(1); 00072 _locked = 0; 00073 } 00074