#include "G4VoxelBreastFactory.h"
#include "G4VoxelLeftBreast.h"
#include "G4VoxelRightBreast.h"

G4VoxelBreastFactory::G4VoxelBreastFactory() {
    // Map with name of the organ and pointer to the MIRDOrgan class
    //  organ["ParameterisedRightBreast"] = new G4ParameterisedRightBreast();
    organ["LeftBreast"] = new G4VoxelLeftBreast();
    organ["RightBreast"] = new G4VoxelRightBreast();
}

G4VoxelBreastFactory::~G4VoxelBreastFactory() {
    delete organ["RightBreast"];
    organ["RightBreast"] = 0;

    delete organ["LeftBreast"];
    organ["LeftBreast"] = 0;
}

G4VPhysicalVolume* G4VoxelBreastFactory::CreateOrgan(const G4String& organ_name, G4VPhysicalVolume* motherVolume,
                                                     const G4String& colourName, G4bool visAttribute,
                                                     G4bool sensitivity) {
    return organ[organ_name]->Construct(organ_name, motherVolume, colourName, visAttribute, sensitivity);
}
