8#ifndef PANDORA_FILE_WRITER_H
9#define PANDORA_FILE_WRITER_H 1
60 const bool writeMCRelationships =
true,
const bool writeTrackRelationships =
true);
Header file for persistency class.
Header file defining status codes and relevant preprocessor macros.
virtual ~FileWriter()
Destructor.
virtual StatusCode WriteFooter()=0
Write the container footer to the file.
virtual StatusCode WriteHeader(const ContainerId containerId)=0
Write the container header to the file.
virtual StatusCode WriteSubDetector(const SubDetector *const pSubDetector)=0
Write a sub detector to the file.
StatusCode WriteTrackToMCParticleRelationships(const TrackList &trackList)
Write track to mc particle relationships for a specified track list.
StatusCode WriteSubDetectorList()
Write the sub detector parameters to the file.
StatusCode WriteTrackList(const TrackList &trackList)
Write a track list to the current position in the file.
virtual StatusCode WriteCaloHit(const CaloHit *const pCaloHit)=0
Write a calo hit to the current position in the file.
virtual StatusCode WriteLArTPC(const LArTPC *const pLArTPC)=0
Write a lar tpc to the file.
StatusCode WriteEvent(const CaloHitList &caloHitList, const TrackList &trackList, const MCParticleList &mcParticleList, const bool writeMCRelationships=true, const bool writeTrackRelationships=true)
Write the specified event components to the file.
StatusCode WriteTrackRelationships(const TrackList &trackList)
Write track relationships for a specified list of tracks.
StatusCode WriteCaloHitToMCParticleRelationships(const CaloHitList &caloHitList)
Write calo hit to mc particle relationships for a specified calo hit list.
virtual StatusCode WriteRelationship(const RelationshipId relationshipId, const void *address1, const void *address2, const float weight=1.f)=0
Write a relationship between two objects with specified addresses.
StatusCode WriteMCParticleRelationships(const MCParticleList &mcParticleList)
Write mc particle relationships for a specified mc particle list.
StatusCode WriteCaloHitToMCParticleRelationship(const CaloHit *const pCaloHit)
Write a calo hit to mc particle relationship to the current position in the file.
virtual StatusCode WriteTrack(const Track *const pTrack)=0
Write a track to the current position in the file.
StatusCode WriteCaloHitList(const CaloHitList &caloHitList)
Write a calo hit list to the current position in the file.
StatusCode WriteDetectorGapList()
Write the detector gap parameters to the file.
virtual StatusCode WriteMCParticle(const MCParticle *const pMCParticle)=0
Write a mc particle to the current position in the file.
StatusCode WriteTrackToMCParticleRelationship(const Track *const pTrack)
Write a track to mc particle relationship to the current position in the file.
virtual StatusCode WriteDetectorGap(const DetectorGap *const pDetectorGap)=0
Write the detector gap parameters to the file.
StatusCode WriteGeometry()
Write the current geometry information to the file.
StatusCode WriteMCParticleList(const MCParticleList &mcParticleList)
Write a mc particle list to the current position in the file.
StatusCode WriteLArTPCList()
Write the lar tpc parameters to the file.
MANAGED_CONTAINER< const MCParticle * > MCParticleList
RelationshipId
The relationship identification enum.
ContainerId
The container identification enum.
MANAGED_CONTAINER< const CaloHit * > CaloHitList
MANAGED_CONTAINER< const Track * > TrackList
StatusCode
The StatusCode enum.