### forkProcess

This forks the processing of the seismograms so that more than one sequence of processing steps can be applied to the data independently. If another processor follows the fork it gets the seismograms as they went into the fork, but only executes if the items in the fork passed. If you want to execute the items past the fork no matter what, enclose it in an alwaysSuccess tag.

### Example

    <forkProcess>
        <rTrend />
        <sacWriter>
            <workingDir>rTrendData</workingDir>
            <location>${network.code}.${station.code}/${event.filizedTime}/${site.code}.${channel.code}.sac</location>
        </sacWriter>
    </forkProcess>

### This consists of

<forkProcess>

seismogramProcess At least once choice
<asciiWriter>
availableDataPlus
<collapseOverlaps/>
<compoundPhaseSignalToNoise>
<compressionType>
<decimate>
<differentiate/>
<div>
<externalWaveformProcess>
<filter>
<forkProcess>
<fullDataCoverage/>
<gapFill>
<integrate/>
<invertFlippedChannels>
<legacyExecute>
<localSeismogramTemplateGenerator>
<mean>
<merge/>
<minMax>
<mseedWriter>
<mul>
<noDataGaps/>
<rms>
<oregonDSPFilter>
<phaseCut>
<phaseSignalToNoise>
<printlineSeismogramProcess>
<recordSectionDisplayGenerator>
<requestCut/>
<responseGain/>
<rMean/>
<rms>
<rTrend/>
<sacWriter>
<alwaysSuccess>
<seismogramAND>
<seismogramImageProcess>
<seismogramNOT>
<seismogramOR>
<seismogramSampling>
<seismogramScript>
<someDataCoverage/>
<stddev>
<taper>
<transferResponse>
<wavWriter>
</forkProcess>

### Places this can be found

In seismogramProcess there is a choice between all of the following

- printlineSeismogramProcess
- sacWriter
- mseedWriter
- asciiWriter
- wavWriter
- recordSectionDisplayGenerator
- responseGain
- phaseCut
- requestCut
- merge
- gapFill
- rMean
- rTrend
- taper
- externalWaveformProcess
- seismogramScript
- localSeismogramTemplateGenerator
- filter
- rms
- oregonDSPFilter
- forkProcess
- alwaysSuccess
- phaseSignalToNoise
- compoundPhaseSignalToNoise
- seismogramImageProcess
- legacyExecute
- seismogramAND
- seismogramOR
- seismogramNOT
- someDataCoverage
- noDataGaps
- fullDataCoverage
- integrate
- differentiate
- transferResponse
- collapseOverlaps
- div
- mul
- invertFlippedChannels
- seismogramSampling
- decimate
- stddev
- rms
- mean
- minMax
- compressionType
- availableDataPlus