A foundation is defined as that part of the structure that supports the weight of the structure and transmits the load to underlying soil or rock. In general, foundation engineering applies the knowledge of geology, soil mechanics, rock mechanics, and structural engineering to the design and construction of foundations for buildings and other structures. The most basic aspect of foundation engineering deals with the selection of the type of foundation, such as using a shallow or deep foundation system. Another important aspect of foundation engineering involves the development of design parameters, such as the bearing capacity or estimated settlement of the foundation. Foundation engineering could also include the actual foundation design, such as determining the type and spacing of steel reinforcement in concrete footings. Foundation engineering often involves both geotechnical and structural engineers, with the geotechnical engineer providing the foundation design parameters such as the allowable bearing pressure and the structural engineer performing the actual foundation design.