108 virtual void DefineGeometry(Double_t xtof, Double_t ytof, Double_t zlenA)
final;
115 void createModules(Double_t xtof, Double_t ytof, Double_t zlenA, Double_t xFLT, Double_t yFLT, Double_t zFLTA)
const;
116 void makeStripsInModules(Double_t ytof, Double_t zlenA)
const;
117 void createModuleCovers(Double_t xtof, Double_t zlenA)
const;
118 void createBackZone(Double_t xtof, Double_t ytof, Double_t zlenA)
const;
119 void makeFrontEndElectronics(Double_t xtof)
const;
120 void makeFEACooling(Double_t xtof)
const;
121 void makeNinoMask(Double_t xtof)
const;
122 void makeSuperModuleCooling(Double_t xtof, Double_t ytof, Double_t zlenA)
const;
124 struct FEAContainer {
130 std::vector<FEAContainer> feaContainers(Double_t zlenA, Bool_t holes)
const;
132 void makeCentralFEAContainer(Double_t ytof)
const;
134 TGeoVolume* coolingBarPiece(Double_t dx, Double_t dy, Double_t dz)
const;
136 void placeCoolingBar(
const char* mother,
const std::vector<FEAContainer>& cont, Double_t crateDZ,
137 Double_t crateY0, Double_t crateY1, Double_t xcoor, Double_t dx, Double_t ycoor,
138 Double_t dy, Double_t zcoor, Double_t dz, Int_t& copy)
const;
139 void makeSuperModuleServices(Double_t xtof, Double_t ytof, Double_t zlenA)
const;
140 void makeReadoutCrates(Double_t ytof)
const;
142 void makeModulesInBTOFvolumes(Double_t ytof, Double_t zlenA)
const;
143 void makeCoversInBTOFvolumes()
const;
144 void makeBackInBTOFvolumes(Double_t ytof)
const;
146 bool isMergable(HitType hit1, HitType hit2)
148 if (hit1.GetTrackID() != hit2.GetTrackID()) {
152 if (std::abs(hit1.GetTime() - hit2.GetTime()) > 1.0 ) {
162 Int_t mLastChannelID = -1;
165 std::vector<HitType>* mHits;
169 mutable std::map<std::array<Double_t, 3>, TGeoVolume*> mBarPieces;
171 template <
typename Det>