// // GWt_abstractElementFactory.h // PSPA // // Created by Garnier Laurent on 28/01/13. // Copyright (c) 2013 Garnier Laurent. All rights reserved. // #ifndef GWt_abstractElementFactory_h #define GWt_abstractElementFactory_h #include "GWt_elementRfgun.h" #include "GWt_elementDrift.h" #include "GWt_elementCell.h" #include "GWt_elementBend.h" #include "GWt_elementSoleno.h" #include "GWt_elementBeam.h" #include "GWt_elementFit.h" #include "GWt_elementSnapshot.h" #include "GWt_elementMpole.h" using namespace Wt; using namespace std; class GWt_abstractElementFactory { public : GWt_abstractElementFactory(); ~GWt_abstractElementFactory(); /* Enable the rfgun element creation */ inline void setRFGunEnable(bool a) { isRFGunElementEnable = a;}; /* Enable the drift element creation */ inline void setDriftEnable(bool a) { isDriftElementEnable = a;}; /* Enable the cell element creation */ inline void setCellEnable(bool a) { isCellElementEnable = a;}; /* Enable the bend element creation */ inline void setBendEnable(bool a) { isBendElementEnable = a;}; /* Enable the soleno element creation */ inline void setSolenoEnable(bool a) { isSolenoElementEnable = a;}; /* Enable the beam element creation */ inline void setBeamEnable(bool a) { isBeamElementEnable = a;}; /* Enable the fit element creation */ inline void setFitEnable(bool a) { isFitElementEnable = a;}; /* Enable the snapshot element creation */ inline void setSnapshotEnable(bool a) { isSnapshotElementEnable = a;}; /* Enable the mpole element creation */ inline void setMPoleEnable(bool a) { isMPoleElementEnable = a;}; GWt_elementDrift* createDriftElement(); GWt_elementRfgun* createRFGunElement(); GWt_elementCell* createCellElement(); GWt_elementBend* createBendElement(); GWt_elementSoleno* createSolenoElement(); GWt_elementBeam* createBeamElement(); GWt_elementFit* createFitElement(); GWt_elementSnapshot* createSnapshotElement(); GWt_elementMpole* createMPoleElement(); vector getAllElements(); private : bool isDriftElementEnable; bool isRFGunElementEnable; bool isCellElementEnable; bool isBendElementEnable; bool isSolenoElementEnable; bool isBeamElementEnable; bool isFitElementEnable; bool isSnapshotElementEnable; bool isMPoleElementEnable; }; #endif