AbstractL1CaloPersistentCondition Node1 AbstractL1CaloPersistent Condition + ~AbstractL1CaloPersistent Condition() + makePersistent() + makeTransient() + makeTransient() + specificationName() + specificationType() + addSpecification() + createAttributeListSpecification() + conditionType() + coolInputKeys() + coolOutputKey() + clear() # AbstractL1CaloPersistent Condition() Node2 IL1CaloPersistenceCapable + ~IL1CaloPersistenceCapable() + makePersistent() + makeTransient() + makeTransient() + conditionType() + coolInputKeys() + coolOutputKey() + clear() Node2->Node1 Node3 std::string Node3->Node1 -m_strConditionType Node5 std::map< int, std ::string > + keys Node3->Node5 +elements Node4 std::basic_string< char > Node4->Node3 Node5->Node1 -m_attrSpecificationName Map -m_attrSpecificationTypeMap