Preheat oven to 350°F / 177°C.
Spray a 9-inch springform pan with nonstick cooking spray. (Note: For best results, I like to press a piece of parchment paper between the two parts of the springform pan before I close it and then spray the parchment with nonstick cooking spray. This is optional, but makes the cake super easy to remove from the pan after freezing.)
In a mixing bowl, whisk together flour, sugar, cocoa powder, baking soda, and a pinch of salt. Add vegetable oil, water, and vanilla and stir just until no dry spots remain.
Pour batter into prepared pan and bake until a tester inserted in the middle comes out clean, 15 to 18 minutes.
Let the brownie base cool in the pan for about 20 minutes. While the base cools, take the first pint of ice cream out of the freezer and let it soften on the counter.
Give the ice cream a good stir and then spread it out over the brownie base. (Note: Be sure that it is evenly soft and spreads easily to avoid pulling up pieces of brownie as you spread it.)
Transfer the cake to the freezer, uncovered, for 20 minutes to let the first layer of ice cream firm up.
When the first layer of ice cream is fairly firm, stir the hot fudge (if it is really firm, you may want to microwave it for a few seconds to soften). Drizzle the hot fudge over the first layer of ice cream and return the cake to the freezer for 20 minutes to set the fudge. Meanwhile the second pint of ice cream out of the freezer to soften.
Give the second pint of ice cream a good stir and then spread it out over the fudge layer. (Note: For an even surface, be sure that this pint of ice cream is very soft before spreading it. You may even want to defrost it in the microwave and then stir it really well before adding it to the cake.)
Cover and freeze the ice cream cake until set, at least 2 hours (and up to a week).
Remove cake from the freezer 10 minutes before serving. Take the cake out of the springform pan and drizzle with magic shell.
Slice and serve.