sleep in arduino

i want my arduino to be in sleep mode initially and after an event when i wake it up, i want to start its functionality.
so where should i put my sleepNow function? if i put it in void loop(), then do i have to initialize or set up everything again after sleep? but how we do that? or do i put it in my setup function only, before i setup other things?

You can put sleep_cpu() where ever you wish (within certain limitations). The processor will stop after executing the function and continue from there after an interrupt wakes it. You can read up on the topic here: