So far there are no tools in ctools to generate phase curves of pulsars or gamma-ray binaries. A plugin for tempo2 is under development by the ctools developers, and you may get in touch with Thierry Reposeur (reposeur@in2p3.fr) for information about this development.
If you know the phase information of the pulsar or gamma-ray binary, you may specify a temporal model component of type PhaseCurve in the model definition file for the source and fit the information using an unbinned analysis. An example of a model definition file including a PhaseCurve model component is shown below. For more information, please read the following description of the temporal model components.
<?xml version="1.0" standalone="no"?>
<source_library title="source library">
<source name="Crab" type="PointSource">
<spatialModel type="PointSource">
<parameter name="RA" scale="1" value="83.6331" min="-360" max="360" free="0"/>
<parameter name="DEC" scale="1" value="22.0145" min="-90" max="90" free="0"/>
</spatialModel>
<spectrum type="PowerLaw">
<parameter name="Prefactor" scale="1e-16" value="5.7" min="1e-07" max="1000.0" free="1"/>
<parameter name="Index" scale="-1" value="2.48" min="0.0" max="+5.0" free="1"/>
<parameter name="PivotEnergy" scale="1e6" value="0.3" min="0.01" max="1000.0" free="0"/>
</spectrum>
<temporal type="PhaseCurve" file="model_temporal_phasecurve.fits">
<parameter name="Normalization" scale="1" value="1.0" min="0.0" max="1000.0" free="0"/>
<parameter name="MJD" scale="1" value="51544.5" min="0.0" max="100000.0" free="0"/>
<parameter name="Phase" scale="1" value="0.0" min="0.0" max="1.0" free="0"/>
<parameter name="F0" scale="1" value="1.0" min="0.0" max="1000.0" free="0"/>
<parameter name="F1" scale="1" value="0.1" min="0.0" max="1000.0" free="0"/>
<parameter name="F2" scale="1" value="0.01" min="0.0" max="1000.0" free="0"/>
</temporal>
</source>
</source_library>