102 if (mother != 0) name = mother->
GetName();
104 << name <<
" at (" << x <<
", " << y <<
", " << z <<
")";
113 G4cout <<
"Creating a new rotation: " << rotstr <<
tab
143 G4cout <<
"<<== End of CCalG4Ecal construction ..." <<
G4endl;
145 return crystalmatrix;
187 zp = (zshift +
getLayPar(0)*std::abs(std::sin(angle))) *
mm;
188 rotstr =
idName +
"Layer" + i;
192 G4cout <<
"Creating a new rotation: " << rotstr <<
tab
194 << 90.0*
deg <<
"," << angle <<
"," << 0.0*
deg << G4endl;
197 90.0*
deg, angle, 0.0*
deg);
202 G4cout << laylog->
GetName() <<
" number " << i+1 <<
" positioned in "
203 << glog->
GetName() <<
" at (" << xp <<
", 0," << zp
204 <<
") with rotation angle " << angle/
deg <<
G4endl;
209 name =
idName +
"Crystal";
227 rotstr =
idName +
"Crystal" + i;
231 G4cout <<
"Creating a new rotation: " << rotstr <<
tab << 90.0*
deg <<
","
233 << angle <<
"," << 90.0*
deg << G4endl;
236 90.0*
deg, angle, 90.0*
deg);
241 G4cout << detLog->
GetName() <<
" number " << i+1 <<
" positioned in "
242 << laylog->
GetName() <<
" at (0," << yp <<
"," << zp
243 <<
") with rotation angle " << angle/
deg <<
G4endl;
248 name =
idName +
"Support";
267 G4cout << slog->
GetName() <<
" number " << i+1 <<
" positioned in "
268 << glog->
GetName() <<
" at (0," << yp <<
"," << zp
269 <<
") with no rotation" <<
G4endl;
279 G4cout <<
"Now registering CrystalMatrix LogicalVolume's to SD's:" <<
G4endl;
284 for(std::vector<ptrG4Log>::iterator iter=
sensitiveLogs.begin();
288 G4cout <<
"Register volume " << (*iter)->GetName() <<
" for" << SDname
CLHEP::Hep3Vector G4ThreeVector
double getCrystPar(unsigned int i) const
G4LogicalVolume * GetLogicalVolume() const
void registerVolume(const G4String &name, G4LogicalVolume *)
double getLayRadius() const
static constexpr double mm
G4String getSuppMat() const
double getLengBox() const
G4RotationMatrix * findMatrix(const G4String &)
std::vector< ptrG4Log > sensitiveLogs
CCalG4Ecal(const G4String &name)
double getDistSupp() const
double getLayPar(unsigned int i) const
G4LogicalVolume * constructGlobal()
double getCrystLength() const
static CCalRotationMatrixFactory * getInstance()
void setVisType(CCalVisualisable::visType, G4LogicalVolume *)
G4String getGenMat() const
static constexpr double deg
G4String getLayMat() const
G4Material * findMaterial(const G4String &) const
double getCrystTol() const
double getLayAngle() const
std::ostream & tab(std::ostream &)
G4RotationMatrix * AddMatrix(const G4String &name, G4double th1, G4double phi1, G4double th2, G4double phi2, G4double th3, G4double phi3)
static CCalSensitiveDetectors * getInstance()
G4GLOB_DLL std::ostream G4cout
double getLengFront() const
virtual void constructSensitive()
G4String getCrystMat() const
const G4String & GetName() const
virtual G4VPhysicalVolume * constructIn(G4VPhysicalVolume *)
const G4String & GetName() const
static G4LogicalVolume * crystalmatrixLog
static CCalMaterialFactory * getInstance()